ashhart / TensorFold
git clone https://github.com/ashhart/TensorFold.git
v1.1.1 · 3d ago
🔥 on GitHub Trending today
Serves language models from a Zig binary on Apple Silicon and NVIDIA GPUs using Metal and CUDA kernels.
Why you might care
Runs LLM inference locally without a Python or MLX install, with an API that includes completions, Responses and Anthropic Messages endpoints. Aimed at people who want to self-host models on a Mac or an NVIDIA GPU box, including a GB10.
+9
stars, 24h · #1,502
+~63
stars, 7 days · #1,931
+~270
stars, 30 days · #1,876
1.4k
★ total · +5% this week
275
forks · 165 open issues
Star history (as recorded here)
LanguageZig
LicenseApache-2.0
Created2026-06-19 (4mo ago)
Last pushtoday
Watchers13
OwnerUser
Seen on GitHub Trending
- 2026-10-22 — #6 daily in zig · +18 ★
- 2026-10-21 — #15 daily in zig · +27 ★
- 2026-10-20 — #15 daily in zig · +27 ★
GitHub topics
Links
- GitHub: github.com/ashhart/TensorFold
- Homepage: https://tensorfold.dev
- Releases · Issues · Hacker News mentions
README excerpt
# TensorFold TensorFold serves language models from a Zig binary on Apple Silicon and NVIDIA GPUs. The engine reads checkpoints, tokenizes requests and runs Metal or CUDA kernels directly. Serving needs no Python or MLX installation. Building with a coding agent? Have it load the contributor skill before it writes any code. ## Quick start Start with Qwen3.5-2B, the small 4-bit checkpoint checked on Metal and a GB10. The commands below download its pinned revision, then serve it as `local-model`. Model weights have their own licenses. ### Mac with Apple Silicon Install with Homebrew, then start the server: [code] ### Linux with an NVIDIA GPU Use the release archive for your CPU: `linux-aarch64` on a GB10, `linux-x86_64` on an x86_64 host. It needs glibc 2.28 or newer and an NVIDIA driver providing `libcuda.so.1`. Keep the archive's directories together. See the CUDA runbook for runtime libraries and supported GPUs. [code] ### Send a request Leave the server running. In another terminal, on either platform: [code] The API also serves completions, Responses and Anthropic Messages. `/v1/models` lists the served name. On Windows with an NVIDIA GPU, follow the native Windows build guide. Use `tensorfold --help`, `tensorfold capabilities --json` and `tensorfold serve REPO --help` to inspect your binary. You can also serve a complete local checkpoint directory or an existing Hugging Face cache. ## Mac app The TensorFold desktop workspace bundles the local engine, model downloads, hardware recommendations, live generation metrics, coding workers and document editing. Download the Apple-silicon beta 8 DMG, or build from `app/`. Mobile clients in `app/mobile/` remain preview software. ## Living Weights (experimental) Living Weights teaches a running model new facts in its own weights. Start a Nemotron 3.5 Lightning server with `--slide` and tell it something: each fact that passes the lesson's checks is written into the checkpoint folder's files. It is experimental: related facts can disturb each other, recall drops past a few dozen facts and with thinking on, and learned facts cost some decode speed on a Mac. Known issues has the details. [code] Leave that server running and send a lesson from another terminal: [code] Send it a document instead and it finds the facts in it and learns them one by one. Open `http://127.0.0.1:8080/slide` to watch in 3D: the facts, the neurons each one took in the model's layers, the shard files that hold them, and the lesson running now. Learning runs on Apple-silicon Macs and on an NVIDIA GB10 (DGX Spark), and a folder that learned on one serves on the other. On an APFS volume, `cp -cRL` makes a clone that shares the original's data until lessons change it. It rewrites the folder's files: before the first lesson the server keeps the originals in a hidden snapshot, and `tensorfold slide rollback ~/models/nemotron-living` puts them back, undoing every lesson. The Living Weights guide covers the key, teaching files an
Blurb generated by claude-haiku-5-5 1d ago. Star deltas marked ~ are extrapolated from partial history.