Native Apple Metal GPU inference via mlx-c bindings
Find a file
Snider 28e2a07316 docs(plan): backend abstraction implementation plan (12 tasks)
Detailed step-by-step plan for restructuring go-mlx:
- Tasks 1-8: mechanical migration to internal/metal/
- Task 9: new Generate loop with iter.Seq[Token] streaming
- Task 10: deterministic memory cleanup (fixes leak)
- Tasks 11-12: integration tests and doc updates

Critical checkpoint at Task 7: all 148 tests must pass.

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:14:59 +00:00
cache test(sub-packages): add 33 tests for cache, sample, tokenizer 2026-02-19 18:40:49 +00:00
cpp docs(design): backend abstraction with internal/metal reorganisation 2026-02-19 19:12:04 +00:00
docs/plans docs(plan): backend abstraction implementation plan (12 tasks) 2026-02-19 19:14:59 +00:00
model feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
sample test(sub-packages): add 33 tests for cache, sample, tokenizer 2026-02-19 18:40:49 +00:00
tokenizer test(sub-packages): add 33 tests for cache, sample, tokenizer 2026-02-19 18:40:49 +00:00
.gitignore feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
array.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
array_test.go test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00
CLAUDE.md feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
CMakeLists.txt feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
compile.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
dtype.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
fast.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
fast_test.go test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00
FINDINGS.md docs(design): backend abstraction with internal/metal reorganisation 2026-02-19 19:12:04 +00:00
go.mod feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
grad.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
grad_test.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
io.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
lora.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
lora_test.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
mlx.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
mlx_stub.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
nn.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
nn_test.go test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00
ops.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
ops_test.go test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00
optim.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
optim_test.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
random.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
slice.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
stream.go feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
TODO.md test(sub-packages): add 33 tests for cache, sample, tokenizer 2026-02-19 18:40:49 +00:00