perf(gfx1201): enable AlpineQ R4/R8 Q8 verifier — +37.6% long-context DFlash decode - #748
Conversation
Extend AlpineQ's warpfront#741 route to exact gfx1201 after R9700 validation, without changing the kernel source or existing attribution. Unsupported architectures and captured/retained routes continue to fail closed to the established batched path. Canonical 21,550-token XT fresh-process A/B: 23.7 -> 32.6 tok/s median (+37.6%), with identical 200-token output, tau 1.80, and 71 cycles across all six samples. Kernel oracle speedups reach 2.08x/2.49x for R4/R8 at 32K; worst relative error is 4.765e-7 and all entries compile with zero private scratch/spills. Validated on Radeon AI PRO R9700 gfx1201: test_kernels 16/16, test_kernelsQA 16/16, qwen35 193/193, rdna-compute 244/244, native five-prompt serve battery 5/5 coherent, and LongBench-v2 hard-30 with 64K output ceiling 30/30 completed without runtime or output-health failures. Signed-off-by: HUSRCF <shuang886@connect.hkust-gz.edu.cn>
|
[ |
Independent re-measurement (maintainer review)Reproduced the long-context A/B on a second R9700 (exact Order
Coherence (VALIDATION.md serve route, product path): Identities: target sha256 Merge order is being decided alongside #755; this comment is measurement, not disposition. |
…, slot tool turns (#753)
Summary
Extend AlpineQ's R4/R8 Q8 multi-row verifier from #741 to exact
gfx1201, based on real R9700 measurement. This changes only the Rust admission/launcher predicates and keeps the existing kernel source, arithmetic, reducer, and AlpineQ/Kaden attribution unchanged.On the pinned 21,550-token Qwen3.8-27B XT fixture, the contributor measurement improved median DFlash decode from 23.7 to 32.6 tok/s (+37.6%).
Kaden-Schutt independently reproduced the result during maintainer review on a second R9700 (exact gfx1201, HIP 7.15). That measurement found 26.3 tok/s on the existing batched DFlash verifier and 39.3 tok/s with R4/R8 (+49.4%). The added plain-AR anchor measured 32.6 tok/s: the existing DFlash route was 19.3% slower than AR, while R4/R8 was 20.6% faster than AR.
The claim is therefore that this change repairs the long-context verifier bottleneck on the measured gfx1201 fixture, taking DFlash from a net loss to a net win over AR. It does not claim that DFlash universally outperforms AR; draft acceptance and workload remain material.
Which surface(s) does this touch?
crates/rdna-computehipfire-arch-qwen35crates/hipfire-quantize/ quant formatsThe route remains fail-closed to exact gfx1100/gfx1201, Q8 KV, head dimension 128/256, sequential non-tree batches of 4..32 rows, logical context above 4096, and graph capture off. Other cases retain the established batched attention path.
Performance evidence
Hardware: Radeon AI PRO R9700, exact
gfx1201, wave32, HIP 7.14.Target SHA-256:
9f91556f7e0431a077d03756a7102d0154108757289e6e5fe9a2d204c0c9eeb7Draft SHA-256:
d0a74a232a0e2166d889f823e91e0fbf778d21dd9668d7de055cdecb065401bcPrompt MD5:
b4d0b63cddcac872648ddf3cdd92cac2(21,550 actual tokens)Fresh-process order was
off,on,on,off,off,on;HIPFIRE_FA_PERTOKEN_MIN_CTXwas the only arm delta. Both arms used Q8 VMM KV, DFlash, graph capture off, a ten-second DPM warmup, greedy sampling, and 200 output tokens.All six runs had identical output MD5
b501ab0e0102889bd63537f2006d4f61, tau 1.80, 71 cycles, and 200 emitted tokens.Independent maintainer re-measurement
Kaden-Schutt independently repeated the benchmark during maintainer review on a second Radeon AI PRO R9700 (exact gfx1201, HIP 7.15). The run used the same pinned target, draft and prompt; Q8 VMM KV; max_seq=65536; greedy sampling;
HIPFIRE_VERIFY_GRAPH=0; one unrecorded warmup; and fresh processes for every sample. Three plain-AR anchors were added to the declared arm order.--spec off)R4/R8 improved DFlash throughput by 49.4% relative to the existing batched verifier. Both DFlash arms retained tau 1.80 and 71 cycles, reproducing the contributor run's draft behaviour exactly. The absolute rates differ between hosts, but the direction and mechanism reproduce independently.
This AR anchor corrects an omission in the original PR description: the existing long-context DFlash route was slower than plain AR on this fixture. The new route turns that net loss into a measured win.
The gfx1201 kernel oracle measured R4/R8 speedups of 2.08x/2.49x at context 32,768. Worst relative output error across head dimensions 128/256 and contexts through 32K was
4.765e-7(limit1e-3). All entries compiled with zero private scratch/spills.Test plan
./scripts/no-gpu-ci.sh— local run reaches five pre-existingmq4c_repackfixture failures shared with clean beta; required CI is left to report independentlycargo build --releasecleancargo test --lib --workspace— claim-scoped crate suites were run insteadhipfire-arch-qwen35: 193 passed, 4 ignoredrdna-compute: 244 passedtest_kernels: 16/16 on gfx1201test_kernelsQA --expected-arch gfx1201: 16/16serve_harness.py battery: 5/5 coherent; zero empty, runaway, attractor, or retrieval failures. Full JSON is posted in the evidence comment immediately below.prompt_think, temperature 1.0, uncapped xhigh thinking, 64K output ceiling: 30/30 natural stops, zero runtime/output-health failures; longest output 14,940 tokens. This is quality soak evidence, not a performance A/B.serve_harness.py --mode sessionvalidation: 8/8 turns completed normally across 7.1K–36.9K contexts, with prefix-cache hits on every continuation and zero empty, runaway or token-attractor outputs. The t7/t8 literaldeduperetrieval misses were inspected and were benign naming differences (hash_file/find_duplicates), not coherence failures.The multi-row route is excluded during graph capture and retained/PM4 replay, so this PR makes no Redline performance or parity claim.
Full fixture-bound measurements and ISA resources are recorded in
docs/perf-checkpoints/2026-09-11-gfx1201-qwen38-multirow-verifier.md.Hardware validation request (optional)
Manual claim-matched hardware evidence is provided above; no additional automation route is requested.
How this merges (direct review)
Merge authority remains direct maintainer review plus the required CI checks. This measurement is a promotion candidate for exact gfx1201 routing, not a registry admission or universal gfx12 claim.
Architecture-trait change?
No.