Native Apple Metal GPU inference via mlx-c bindings
Find a file
Snider 97d9041455 docs(plan): fold Virgil review into design and implementation plan
Virgil review items integrated:
- context.Context on Generate/Chat (required for HTTP cancellation)
- Err() error on TextModel (distinguish EOS from OOM)
- Chat() on TextModel (model owns its chat template)
- Memory control functions exposed at root package level
- Functional options convention confirmed
- pkg/process confirmed — no changes needed for mlxlm

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 19:25:05 +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): fold Virgil review into design and implementation plan 2026-02-19 19:25:05 +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