One 30‑billion‑parameter model. One R9700. Every runtime, both halves of inference — and a prefill headline of 8,326 tok/s.
AMD Field AI · Pradeep Nallimelli · July 2026 · R9700 (gfx1201, RDNA4) · Qwen3‑30B‑A3B MoE
Same base weights (Qwen3‑30B‑A3B), same card, same -fa 1, concurrency 1. We measured prefill and decode across three runtimes.
ROCm rocBLAS, UD‑Q4_K_XL GGUF (~4.5 bpw). The compute‑bound baseline.
RADV KHR_coopmat matrix cores, same GGUF. The bandwidth play.
AWQ‑4bit, paged / chunked prefill. The datacenter scheduler.
Decode is memory‑bandwidth bound. Vulkan's coopmat path hits 167.6 tok/s — 1.8× HIP, 3.4× vLLM, and past the old series baseline of 108.
AWQ paged prefill scales up with context. 8,326 @ pp4096. Pick it for RAG, long documents, big system prompts.
RADV coopmat, 167.6 tok/s. Pick it for one interactive user who wants the fastest tokens‑per‑second.
Second in both axes, never last. The safe default when the workload mix isn't known yet.
ub=2048 is a universal resonant point.| Backend | pp2048 @ ub512 | pp2048 @ ub2048 | Gain |
|---|---|---|---|
| HIP | 3,391 | 4,635 | +36.7% |
| Vulkan | 3,019 | 3,675 | +21.7% |
-ub sweet spot reproduces on both HIP and Vulkan — it's a property of this MoE's working set on RDNA4, not a HIP quirk. And pp512 can never show it: -ub is pinned by prompt length.For eleven parts we benchmarked at pp512 — the one prompt length where micro‑batch tuning is mathematically disabled.
"Resisted all optimization." It couldn't — the winning knob was off.
+32.8% with zero new code — just the right axis.
vLLM paged prefill — the number that was there all along.
The first documented, reproducible, apples‑to‑apples three‑way characterization (HIP vs Vulkan/coopmat vs vLLM AWQ) of prefill and decode for this 30B MoE on R9700 / gfx1201. Plus a real method finding — pp512 hides a 2.5× gap; ub=2048 is universal — and a routing rule.
An absolute throughput record. MI300X, H100/H200, even a 5090 exceed 8,326. It's an excellent number for a 32 GB workstation card — not a global maximum. And no new kernel was invented; the discipline is the contribution.
Today's sweep is the harness a purpose‑built engine proves itself against — the R9700 answer to a q36‑class CUDA prefill engine.
Route experts through the wvSplitK INT4 MoE GEMM — vindicated on 30B (75 µs, no hang). Prefill first.
Upcast to RDNA4 FP8 WMMA matrix cores — the other native path to tensor throughput.
HIP chunked‑scan for the hybrid linear‑attention trunk — where long‑prefill work pays off.
Three backends. Two axes. One honest number — and a runway to beat it.
Data · /home/amd/pradeepn/local_agent/knowledge/r9700_sweep/ · Lab notebook Ch. 11
Series · deepindeepsea.github.io/r9700-vllm-blogs · © 2026 AMD Field AI