AMD Strix Halo · Ryzen AI Max+ 395
⚡ One binary to rule them all

Run AI models on your own hardware.
Fast.

One C++ binary. Zero Python. MIT licensed.

Including on a chip nothing else can touch: AMD's own runtime for the Strix Halo NPU is closed-source, so we reverse-engineered it from scratch. Also runs on AMD/NVIDIA/Apple GPUs and plain CPU. It's an inference engine, not a chat app — bring your own frontend. 47 models run out of the box, 135M to 74B parameters.

1bit.systemsStrix Halo
NPU models37
Architectures18
Backends9
Peak performance433 / 79.4 tok/s
C++23 · MIT zero Python NPU unlocked clones today
Our 1BP Models

Built, quantized & hosted by us. Download & run.

We converted these to 1BP — our own single-file, zero-config, memory-mappable format — with a pure-C++ toolchain (no Python). Every one is published on Hugging Face and runs end-to-end on this engine. Numbers below are measured on-device (Strix Halo).

Mamba1 · MoEe2e validated
BlackMamba-1.5B
1.5B params · 970 MB · 1BP
79.4 tok/s
⬇ Download on HF →
Mamba1 · MoEe2e validated
BlackMamba-2.8B
2.8B params · 1.8 GB · 1BP
46.0 tok/s
⬇ Download on HF →
MoEflagship
Zaya1-8B
8.8B params · 16-expert · 1BP
~64 tok/s
⬇ Download on HF →
Ternary TQ22-bit native
Bonsai-1.7B
1.7B params · TQ2 · 1BP
21.9 tok/s
⬇ Download on HF →
Mamba2-HybridSSM + attn
Zamba2-2.7B
2.7B params · 2.4 GB · 1BP
Instruct v2 · hybrid
⬇ Download on HF →
Dense · ReasoningQwen2 arch
ZR1-1.5B
1.5B params · 781 MB · 1BP
26 tok/s
⬇ Download on HF →
🤗 All 1BP models on Hugging Face → Also on HF: ZAYA1-74B-preview · Zamba2-1.2B / 7B
Model Families

Built around Zaya. Extended to everything else.

Zaya1-8B is the model this project was built around — the first validated end-to-end through Q4NX, GGUF, and 1BP. The same auto-detect pipeline now covers 17 families and 47 1BP models (+12 documented Zyphra non-LLM models), from dense transformers to MoE to state-space hybrids. Full specs for every family live in the catalog on GitHub →

Zaya — Zyphra flagship · 2 models

16-expert MoE. Every tensor structurally and numerically verified against the source GGUF — the first target of every new converter this project ships.

ZAYA1-8B
8.8B · 149 MB · 1BP
~64 tok/s
ZAYA1-74B-preview
74B · 739 MB · 1BP
24-expert MoE
ZAYA1-VL-8B
SigLIP ViT + Zaya1 decoder
Vision + text
🤗 ZAYA1-8B on Hugging Face → Full Zaya specs →

18 architectures — auto-detected, no config needed

BitNet
Ternary TQ2 · ROCm HIP
420 tok/s kernel
Qwen3
Dense · ZINC GPU / NPU
28/28 tests ✅
Llama
Dense · ZINC GPU / NPU
32/32 tests ✅
Mistral
Dense · ZINC GPU
validated
Qwen2
Dense · ZINC GPU
ZR1-1.5B 26 tok/s
Gemma
Dense · ZINC GPU / NPU
35/35 tests ✅
Phi
Dense · ZINC GPU
validated
Zamba2
Mamba2-Hybrid · NPU
validated
Zamba
Mamba1+Attn · GPU HIP
validated
BlackMamba
Mamba1 MoE · GPU HIP
79.4 tok/s e2e
Laguna
Dense · ZINC GPU
validated
Falcon
Dense · ZINC GPU
validated
OLMo
Dense · ZINC GPU
validated
Zaya
MoE · ROCm HIP
~64 tok/s
Qwen2-VL
Vision · ZINC GPU
validated
Whisper
Audio · CPU
validated
DeepSeek
Dense · ZINC GPU
validated
Qwen3-VL
Vision · ZINC GPU
36/36 tests ✅

+ 15 more families · 40+ more 1BP models + documented Zyphra non-LLM

Laguna · 3 → Qwen · 4 → Llama · 4 → Mistral · 2 → Gemma · 4 → Phi · 3 → DeepSeek · 2 → Falcon3 · 2 → OLMo · 1 → Granite · 1 → Mamba · 2 → Zamba (Hybrid) · 3 → Zamba (Mamba1+Attn) · 1 → Ternary / Bonsai · 4 → Vision-Language · 2 →
Full Catalog

47 1BP models. 17 families. One format.

Every family above converts to the same single-file, memory-mappable 1BP format — zero external config.json or tokenizer.json. One of them skips conversion entirely: these run straight from GGUF, validated end-to-end.

🔹 GGUF Native — no 1BP conversion needed direct execution, verified
ModelParamsBackendTests
Qwen3-0.6B0.6BZINC · NPU✅ 28/28
Qwen3-VL-4B4BZINC✅ 36/36
Llama-3.1-8B8BZINC · NPU✅ 32/32
Qwen3-8B8BZINC · NPU✅ 36/36
Gemma4-E2B2BZINC · NPU✅ 35/35
📊 Full model catalog — sizes, backends, per-family specs →
Benchmarks

Measured on-device. Source-backed.

433 tok/s
Peak GPU kernel — Q1 GEMV, ROCm HIP
79.4 tok/s
End-to-end decode — BlackMamba 1.5B, Mamba1 HIP
43.2 TFLOPS
Prefill — INT8 WMMA, re-validated 07-26
51 TOPS
NPU hardware — XDNA 2, xrt-smi validate

Every number above and on the model cards traces back to one authoritative file (site/benchmarks.json) with a status tag — validated / optimized / raw — so nothing here is cherry-picked. Kernel-level numbers are isolated GEMV throughput, not end-to-end decode; the full breakdown below keeps the two apart.

📈 Full benchmark methodology →
Backends

NPU + GPU + CPU. One process.

Single binary routes every layer to the fastest available accelerator. Auto-detects hardware at startup — no config, no restart.

NPUunlocked
XDNA 2 — 32 AIE2P tiles · 50 TOPS INT8. AMD's proprietary FastFlowLM stack fully reverse-engineered and replaced. Runs natively via npu_xrt — no closed-source subprocess.
GPUROCm + Vulkan
Radeon 8060S — 32 CUs · 256 GB/s. Two engines: ZINC (Vulkan SPIR-V, multi-arch) and HIP (ROCm, Zaya/Mamba1). Mamba1 GPU hits 79.4 tok/s on BlackMamba.
CPUfallback
Zen 5 — 16C/32T · AVX-512. OpenMP attention for short context. Generic GGUF CPU path for any model not covered by GPU/NPU backends.
Routerper-token dispatch
Dynamic Router — built into the single binary. Tracks live per-backend latency and routes each token to the fastest GPU/NPU backend (or a configurable backfill ratio), with automatic failover if a backend dies mid-stream. Source →
Read the reverse-engineering story → · 22 proprietary .so → one 67 MB open-source binary
Quick Start

One command. Zero deps.

No Python. No pip. No Docker. One binary runs any model.

# Install — auto-detects OS: $ curl -fsSL https://1bit.systems/install.sh | sh # Start inference with any GGUF model: $ 1bit serve --model qwen3-0.6b # Or build from source: $ git clone https://github.com/1bit-systems/1bit-systems $ cd 1bit-systems && cmake -B build && cmake --build build -j$(nproc)

Package formats: deb · snap · AppImage · Homebrew · AUR · Docker · Ollama · more →

FAQ

Common questions.

Does this require Python?

No. Pure C++23. No Python, no pip, no Docker at runtime. The single binary is all you need.

What hardware do I need?

AMD Strix Halo (Ryzen AI Max+ 395) — the only laptop APU with XDNA 2 NPU (50 TOPS) + RDNA 3.5 GPU in one chip. Also runs on any AMD system with ROCm or Vulkan.

Is this a fork of llama.cpp?

No. Built from scratch in C++23. The only thing it shares with llama.cpp is that both read GGUF files. We reverse-engineered AMD's NPU stack from binary — 22 proprietary .so files, 209 xclbin bitstreams — and rebuilt it open source.

What's the license?

MIT. View license →

How does it compare to llama.cpp?

llama.cpp is faster on the same hardware (229 tok/s vs our 30-80 tok/s). We say so in the README. Our advantage is NPU support, model-agnostic auto-detection, and zero Python — all in a single binary. See issue #235 for discussion.

Kernel crash on 6.19.x?

Known issue: Linux 6.19.x kernels have a reproducible amdgpu OPTC CRTC hang under sustained NPU/GPU load on Strix Halo (gfx1151). The display pipe locks up mid-inference. Confirmed-stable: 6.18.22-lts and 7.x. Run uname -r to check yours. The install script warns on 6.19.x automatically.

What build tools do I need?

CMake ≥ 3.28, Ninja ≥ 1.12, GCC ≥ 13 (C++17), and ROCm's amdclang++ for HIP kernels (shipped with TheRock 7.1.5a). The install script handles all of this automatically.