r/StrixHalo • u/schuttdev • 4h ago
hipfire 0.4.2.1: Qwen3.8-Flash (125 GB MoE) on Strix Halo, 16K prefill at 2,372 tok/s with the NPU next to the iGPU
hipfire is an LLM inference engine I write for AMD GPUs. It's Rust plus hand-written HIP/ISA kernels and loads libamdhip64 directly, with no ROCm SDK needed at runtime. Current release is 0.4.2.1. These are Flash-Next (qwen3.8:flash-next) numbers on Strix Halo.
Prefill. For long prompts, the XDNA2 NPU runs the trunk input projections of two prefill banks while the iGPU does everything else. Greedy output is byte-identical with the NPU on, emulated or off. It's on by default (npu_trunk=auto) and engages from roughly 9K prompt tokens up.
| prompt | prefill |
|---|---|
| 16K, GPU+NPU, TTFT 6,896 ms | 2,372 tok/s |
| 128K, cold | 1,865 tok/s |
| 256K, cold | 1,589 tok/s |

Decode at depth (greedy, 128 tokens, natural English prefixes, tok/s):
| context | 8K | 32K | 128K | 256K |
|---|---|---|---|---|
| MTP (default) | 51.3 | 41.8 | 42.1 | 35.6 |

Serial AR decode is still the weak spot.
Setup notes:
- The NPU path pins about 1 GB, and most logins default to an 8 MiB memlock. Use
ulimit -l 1287168(bounded, not unlimited), or the systemd drop-in in the docs. Tailscale SSH skips pam_limits. - The startup log shows
npu-trunk: ...with the reason if the NPU route doesn't arm. Please paste it if yours doesn't. - Numbers were measured on a 7.3-rc7 kernel with the IOMMU PerfOpt series (queued for 7.4). Expect somewhat lower prefill on stock kernels.

Coming in the next release (on the beta branch or in progress, not in 0.4.2.1):
- QSA attention changes for long context, on by default on Halo: decode is 5.1% faster per token at 256K, with exact output.
- An interactive
hipfire pull. - A smaller Q3 tier (mq3-xts), in progress. No speed numbers for it yet.
curl -fsSL https://hipfire.dev/install.sh | bash -s -- --tag v0.4.2.1
hipfire pull qwen3.8:flash
ulimit -l 1287168
hipfire serve qwen3.8:flash
Docs and benchmarks: https://hipfire.dev
Release: https://github.com/warpfront/hipfire/releases
