Native Apple Metal GPU inference via mlx-c bindings
Find a file
Snider 37abc496ba test(core): add 86 tests for ops, array, nn, fast kernels
Phase 1 hardening: cover all previously-untested core operations.

- array_test.go (25): scalar/array creation, shape, clone, free, data access
- ops_test.go (44): arithmetic, math, matmul, reductions, shape ops, indexing, slicing, random
- nn_test.go (8): Linear (dense/bias/LoRA), Embedding, RMSNormModule, RepeatKV
- fast_test.go (9): RMSNorm, LayerNorm, RoPE, ScaledDotProductAttention

Found: Floats()/DataInt32() return wrong data on non-contiguous arrays
(transpose, broadcast, slice views). Documented in FINDINGS.md.

Also: cpp/ workspace docs for CLion Claude session, Go 1.26 impact
assessment, verified go generate → test round-trip (29→115 tests).

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 18:37:30 +00:00
cache feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
cpp test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00
model feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
sample feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +00:00
tokenizer feat: extract go-mlx from go-ai as standalone Metal inference package 2026-02-19 17:57:37 +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 test(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +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(core): add 86 tests for ops, array, nn, fast kernels 2026-02-19 18:37:30 +00:00