halogen™ is the fastest way to run Qwen3.8-Flash-Next on AMD Strix Halo, and it is built for agents: deep into a long session, each turn starts answering in about 1.6 seconds.
Every kernel is written for this one GPU and this one model family. No general-purpose runtime, no portability layer, no fallback path. That is why it can do things a general engine cannot, and why it runs on exactly one piece of silicon.
| 0.18.0, the default configuration | halogen-flash |
|---|---|
| decode | up to 94 tok/s on repetitive output · 73 writing code · 54 prose |
| prefill: 8,192 / 32,768 / 131,072-token prompt | 1,821 / 1,740 / 1,675 tok/s |
| an agent turn, 30,000 to 96,000 tokens of context | 4.2 s (first token in 1.6 s) |
| the first turn of a 34,000-token agent prompt, cold | 21 s |
| decode: editing code / an agent's tool call / six other languages | 81 / 71 / 52 tok/s |
What each row is. The agent turns are three sessions of a coding agent
fixing a bug in a Python repository: each turn sends the whole conversation
back with the model's last tool call and a tool result of 800 to 3,000
tokens appended, and the time runs from the request to the last byte of the
answer, on the client's clock (the median of 115 turns, about 200 tokens of
answer each). Decode is measured on the kind of text each row names. The
best case is five short prompts whose answer repeats itself ("print the word
red ten times" and four like it), shown so it can be compared like for like
with other figures of that kind. Prefill is the image's own sweep, on a
synthetic prompt; real text through the chat template runs about 8 to 12%
slower, which is why the cold first turn takes 21 s for 34,000 tokens.
All of it is the published 0.18.0 image at its defaults (the v2 checkpoint, the prompt cache on, greedy, thinking off) on an AMD Ryzen AI Max+ 395 with 128 GB, at about 85 W of sustained package power. Measured has every number for both checkpoints. The prefill rows, and a decode mean over ten prompt shapes, reproduce with one command from the image (
