Native Apple Metal GPU inference via mlx-c bindings
Find a file
Snider 4d1bff3d78 refactor(api): clean root package — interfaces only, metal auto-registered
Root package now contains only:
- mlx.go: package doc + go:generate directives
- textmodel.go: TextModel, Token, Message interfaces
- options.go: GenerateOption, LoadOption functional options
- backend.go: Backend interface, Register/Get/Default/LoadModel
- register_metal.go: build-tagged init() + adapter + memory delegates
- mlx_stub.go: non-darwin fallback

internal/metal/ has its own Token, GenerateConfig, Model types.
register_metal.go adapts between the two via metalAdapter.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 20:04:19 +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
internal/metal refactor(api): clean root package — interfaces only, metal auto-registered 2026-02-19 20:04:19 +00:00
.gitignore chore: gitignore dist/ (CMake install output) 2026-02-19 19:30:23 +00:00
backend.go feat(api): define public TextModel, Backend, and options interfaces 2026-02-19 19:32:00 +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
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
mlx.go refactor(api): clean root package — interfaces only, metal auto-registered 2026-02-19 20:04:19 +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
options.go feat(api): define public TextModel, Backend, and options interfaces 2026-02-19 19:32:00 +00:00
register_metal.go refactor(api): clean root package — interfaces only, metal auto-registered 2026-02-19 20:04:19 +00:00
textmodel.go feat(api): define public TextModel, Backend, and options interfaces 2026-02-19 19:32:00 +00:00
TODO.md test(sub-packages): add 33 tests for cache, sample, tokenizer 2026-02-19 18:40:49 +00:00