Release v0.1.0
About the project
I have been working on this project on my weekends for quite some time. Tbh was interested in experimenting with golang in the ML world, so I looked at projects that did this before like gotorch and Gorgonia, which served as a good inspiration; but wanted to like experiment with a library like MLX for the same. Really happy with what I have worked on till this point, and want to continue with this until we are able to run LLM models on my local system without the pain of python dependency management.
Biggest sellling point for me for this project is static typing and static binaries that I can creating, avoiding shipping huge docker images for the projects. Also MLX served as a good base with the unified memory architecture and recent CUDA support which I plan to work in future. Let's see how it goes, lmk if u like this project and help me contribute and build this into something useful for the community.
P.S. Really thanks to AI tools that helped me complete the project, honestly go works really well with AI and LLMs.
What's New
- Updates to docs for v0.1.0 release (#19)
- Change Rows to Slice2D API (#18)
- refactor: update CI caching to split restore and save operations and … (#17)
- Packaging redesign from main (#16)
- Fix Array memory management: premature GC cleanup, double-free, missing KeepAlive, and explicit OOM errors (#13)
- Feat: Add nn features for the module (#6)
- Add Codecov badge to README
- Fix codecov upload integration (#8)
- Made changes to CI (#5)
- fix: v0.0.1 release review — memory leaks, wrong APIs, broken URLs, fragile formatting, CI caching (#2)
- ci: cache MLX build artifacts to speed up CI runs (#3)
- Fix: Fix Build problems (#1)
- Remove build problems
- Housekeeping changes for v0.0.1
- Add Support for compile and VJP in MLX-GO
- Small Fix
- feat: Introduce comprehensive documentation, establish CI/CD pipelines, and update module import paths and examples.
- Add Index APIs and make behaviour correct for Ops
- Docs for mlx-go
- Add Benchmark tests for py vs Go Comparison
- Add tests and fix bugs for Array Ops
- Add more ops for NN
- Build changes
- Pin submodules: mlx v0.30.4, mlx-c v0.4.1
- The initial commit of mlx-go
Installation
Install native MLX artifacts once on each machine:
go run github.com/guptaaryan16/mlx_go/cmd/mlxgo-install@v0.1.0Then use the Go module normally:
go get github.com/guptaaryan16/mlx_go@v0.1.0Documentation
See the README for full documentation.