go-mlx/internal/metal
Snider 51ac442a09
Some checks failed
Security Scan / security (push) Successful in 15s
Test / Vet & Build (push) Failing after 32s
fix: add deterministic GPU memory cleanup across inference paths
- defer freeCaches() in Generate and InspectAttention
- Free orphaned arrays during KVCache growth and slice updates
- Free per-token scalar intermediates in samplers and ops
- Free intermediate arrays in applyRepeatPenalty

Found by 3-way review: Claude explorer, Codex (gpt-5.3), Gemini Ultra.
Gemini implemented the fixes.

Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 05:08:02 +00:00
..
array.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
array_test.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
backend.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
batch.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
batch_test.go feat(metal): implement batch inference (Classify, BatchGenerate) 2026-02-19 23:28:15 +00:00
bench_test.go bench(metal): add 29 benchmarks baselined on M3 Ultra 2026-02-19 20:47:25 +00:00
cache.go fix: add deterministic GPU memory cleanup across inference paths 2026-02-23 05:08:02 +00:00
cache_test.go refactor(metal): move all tests to internal/metal (148 tests passing) 2026-02-19 20:00:02 +00:00
close.go feat(metal): deterministic Close() and Array.Iter() 2026-02-19 21:09:39 +00:00
close_test.go feat(metal): deterministic Close() and Array.Iter() 2026-02-19 21:09:39 +00:00
compile.go fix(metal): address 5 important code review items 2026-02-19 21:31:45 +00:00
dtype.go refactor(metal): move dtype, array, metal, stream to internal/metal 2026-02-19 19:34:38 +00:00
error_test.go feat(metal): implement batch inference (Classify, BatchGenerate) 2026-02-19 23:28:15 +00:00
fast.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
fast_test.go refactor(metal): move all tests to internal/metal (148 tests passing) 2026-02-19 20:00:02 +00:00
gemma3.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
generate.go fix: add deterministic GPU memory cleanup across inference paths 2026-02-23 05:08:02 +00:00
grad.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
grad_test.go test(metal): validate gradient checkpointing with real model (Phase 3) 2026-02-19 23:11:15 +00:00
io.go fix(metal): error handling audit — propagate MLX errors instead of swallowing 2026-02-19 20:59:37 +00:00
iter_test.go feat(metal): deterministic Close() and Array.Iter() 2026-02-19 21:09:39 +00:00
lora.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
lora_test.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
metal.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
model.go feat(metal): implement batch inference (Classify, BatchGenerate) 2026-02-19 23:28:15 +00:00
model_test.go test(metal): add model loading robustness tests (Phase 2) 2026-02-19 21:49:07 +00:00
nn.go refactor(metal): move nn, io, grad, lora, optim to internal/metal 2026-02-19 19:39:58 +00:00
nn_test.go refactor(metal): move all tests to internal/metal (148 tests passing) 2026-02-19 20:00:02 +00:00
ops.go fix: add deterministic GPU memory cleanup across inference paths 2026-02-23 05:08:02 +00:00
ops_test.go feat(metal): bind CumSum, implement TopP and MinP sampling 2026-02-19 20:39:44 +00:00
optim.go refactor(metal): move nn, io, grad, lora, optim to internal/metal 2026-02-19 19:39:58 +00:00
optim_test.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
qwen3.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
random.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
sample.go fix: add deterministic GPU memory cleanup across inference paths 2026-02-23 05:08:02 +00:00
sample_test.go fix(metal): address 5 important code review items 2026-02-19 21:31:45 +00:00
slice.go fix(metal): address 4 minor code review items 2026-02-19 21:36:40 +00:00
stream.go fix(metal): address 5 important code review items 2026-02-19 21:31:45 +00:00
tokenizer.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
tokenizer_test.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00
train_test.go refactor: apply go fix modernizers for Go 1.26 2026-02-22 21:00:16 +00:00