Skip to content

Releases: doramirdor/mbolt

mbolt v0.1.0 — 1.63× faster MoE streaming by moving bytes

Choose a tag to compare

@doramirdor doramirdor released this 13 Jul 19:26

Profile-guided layout optimization for GGUF MoE models — BOLT/PGO, but for weights.

First release. Trace expert co-activation on your workload, rewrite the model file so co-fired experts sit together on disk, decode with explicit-read prefetch.

Headline numbers (Qwen3-Next-80B, 33GB, memory-squeezed, M5 Pro / Apple NVMe)

config tok/s vs stock
stock file, stock llama.cpp 5.80
+ prefetcher 7.60 1.31×
interleave layout + prefetcher 9.00–9.80 1.55–1.63×

Storage level: 1,418 → ~370 reads/token (2.23×, cold, physical files, held-out trace). Weights byte-exact, +0.003% file size; output perturbation 5× below a CPU↔Metal backend switch.

What's in the box

  • pip install mboltmbolt (rewriter: chain+pipeline / interleave layouts) + mbolt-sim (trace stats, clustering, replay simulator that predicts your gain before rewriting)
  • llama.cpp-mbolt-trace.patch (attached) — MBOLT_TRACE routing tracer, MBOLT_PREFETCH explicit-read parallel prefetcher, interleave strided-view loader
  • 4-gate correctness CI, full benchmark reports (results/phase0..2-report.md)

Known limits

  • Gains require an I/O-bound regime (model ≳ RAM or slow storage) and explicit reads (bundled prefetcher, or a colibri-class engine); stock mmap fault streaming is layout-blind.
  • Single-machine measurements so far — reproductions welcome, especially on slower drives.