Controlled comparison
llama.cpp Vulkan vs ROCm on AMD Strix Halo
Which llama.cpp backend should you run on a Ryzen AI Max+ 395 (gfx1151) box for single-user chat — Vulkan or ROCm?
What was held fixed
Same physical unit (Beelink GTR9 Pro, 128 GB unified), same Qwen3.6-35B-A3B Q4_K_M artifact by hash, same frozen human-task corpus, single stream, reasoning off. Only the backend container differs.
| Metric | Vulkan | ROCm |
|---|---|---|
| Inter-token latency, median (decode pace) | 15.9ms/tokenmedian over valid requests · lab_repeated · evidence | 18.7ms/tokenmedian over valid requests · lab_repeated · evidence |
| Time to first answer token, median | 210msmedian over valid requests · lab_unit_replicated · evidence | 215msmedian over valid requests · lab_repeated · evidence |
| Strict-JSON task success (structured workload) | 100.0% of requestsshare of all issued requests · lab_repeated · evidence | 100.0% of requestsshare of all issued requests · lab_repeated · evidence |
How to read this
Vulkan decodes faster on this configuration; time to the first answer token is effectively a tie. Both backends passed every strict-JSON task in the structured workload, so the choice is about decode pace and operational preference, not quality.
Limits
One unit, one model artifact, one runtime build per backend, single stream. Prefill-heavy or multi-stream loads may rank the backends differently — measure your cell before committing.
Answering this question somewhere? Paste the table
Markdown, renders on GitHub / Reddit / forums. Attribution line included — the data is CC BY 4.0, take it.