Qwen3.6-35B-A3B streams fully on the Ryzen AI NPU
AMD published official FastFlowLM numbers for Qwen3.6-35B-A3B on the Ryzen AI NPU, and a 35B running fully on an NPU deserves a closer read than a headline. This is our decoding of those numbers, what decode versus prefill actually means on the same silicon, and where our independent first pass lands.
The published numbers
AMD's official FastFlowLM run lists Qwen3.6-35B-A3B at 13.65 tok/s decode and 221.96 tok/s prefill, with the model running fully on the NPU, on Kraken Point. Before we treated any of it as real we checked the run against the official Qwen config, and the numbers line up with a model of that shape.
Decode versus prefill
The two figures are not two speeds for the same job. Prefill ingests the prompt in bulk, many tokens in one pass. Decode emits the answer one token at a time. On the same silicon those are different workloads, and quoting them side by side without saying which is which hides more than it reveals.
| Metric | Value | What it measures |
|---|---|---|
| prefill | 221.96 tok/s | prompt ingestion, many tokens at once |
| decode | 13.65 tok/s | steady-state generation, one token at a time |
| first pass, ours | 75.65 tok/s | llama.cpp Vulkan on Strix Halo |
Decode is the number you feel
For streaming output, decode is the number that matters, and 13.65 tok/s is a working stream. The point of the exercise is not that the NPU outruns a discrete GPU, it is that a 35B model runs end to end on the low-power unit that ships inside the machine, with no GPU in the path.
Our first pass
For the same model we measured 75.65 tok/s as a first pass through llama.cpp Vulkan on a Strix Halo. It is a first pass, not a comparison: different backend, different silicon, different kernel story. The honest reading is that both paths move this model at usable speeds, and that each side is early and improvable.
The record
AMD's numbers decode cleanly, the model checks out against the official Qwen config, and our own first pass lands in the same usable range. The harness and the config checks are in the repo, and we will be the first to correct this entry when a newer pass beats it.