Kimi K3 inference in portable C99.
No BLAS. No framework. No GPU.
| 2.78T parameters |
1.56 TB checkpoint on disk |
8.24 GB peak RSS, measured |
176 KB the whole engine |
0 GPUs |
The same 2.78-trillion-parameter model, the same answer, on whatever machine you own.
More memory only buys speed:
| the machine you have | RAM | time per token | what is going on |
|---|---|---|---|
| an ordinary laptop | 8 GB | 26.5 s | the whole model streams off the disk on every step |
| a high-end laptop | 32 GB | 24.2 s | some of the model now sits in memory |
| a desktop | 64 GB | 19.8 s | more of it sits in memory |
| a heavy workstation | 128 GB+ | 5.6 s | the model fits entirely in memory, the disk wait is gone |
I am open to AI research roles and PhD positions. CV.
ultra preset, the faster MXFP4 kernels and a long list of parser fixes came from the people below. Who did what.
$ ./bin/k3 ~/k3model --trunk ~/k3trunk --preset laptop \
--tok ~/k3model --prompt "The capital of France is" --gen 8 --incremental
--- generated text ---
Paris.",
+ "The Eiffel
----------------------
8 tokens in 261.5 s, 32.69 s/token average
PEAK RSS for the whole run: 8.24 GB
Slow, and answering correctly, in 8.24 GB, from a checkpoint of 1.56 TB. This particular batch command deliberately asks for a raw continuation. The official Kimi K3 checkpoint is also chat-capable; use the XTML REPL below when you want answers and multi-turn history. Give the same batch request more memory and the answer does not change, only the clock:
$ ./bin/k3 ~/k3model --trunk ~/k3trunk --preset server \
--tok ~/k3model --prompt "def fibonacci(n):" --gen 28 --incremental
--- generated text ---
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci
----------------------
28 tokens in 299.3 s, 10.69 s/token average
PEAK RSS for the whole run: 127.92 GB
Every figure in this document comes from the measurement output in
docs/data/.

The dense trunk stays in memory to whatever depth you choose and streams the rest; the 1.45 TB of routed experts are never resident, and are multiplied straight out of their packed 4-bit form. The consequence is that the same model runs in 8 GB and in 224 GB and produces byte-identical output at every budget between.
Four decisions about where bytes live take it from a cluster to a laptop, and the answer at the bottom is the same as the answer at the top:

Part II builds every box in both diagrams from scratch, one component at a time.
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|