…sh2 decode 46 / 28 / 18 tok/s
A second KernelForge campaign (tools/kernelforge/gemv-q4_0, about $40) on the
Q4_0 x Q8_1 few-column matmul that speculative verification runs found a
row-tiled body. ROCmFPX#6 dispatches it for 8-column batches on gfx1151: its
output is bit for bit the old kernel's (40 shape/input cases), and Qwen3.8-27B
8-token batches go 71.3 -> 78.3 tok/s.
tools/bench.py, Qwen3.8-27B-H32 through `1bit serve`, 2 rounds, box lock:
base 559 / 546 tok/s prompt, 13.1 / 13.1 / 13.5 decode; --dflash 518 / 486
prompt, decode code / prose / short 46.0 / 28.4 / 17.6 (best; medians 45.6 /
28.0 / 17.5), with the rocm p-min 0.4 recipe applied. Before these two changes
the same tool measured 42.1 / 24.9 / 13.6.
tools/kernelforge/gemv-q4_0: the task (kernel now at the kept body, float64
oracle with adversarial inputs, driver, program.md with the first campaign's
findings, run.sh); README records the result. docs/lean.md, serve.md, README
and the site description carry the new numbers; serve.md's p-min sentence
follows the recipes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A second KernelForge campaign (tools/kernelforge/gemv-q4_0, about $40) on the
Q4_0 x Q8_1 few-column matmul that speculative verification runs found a
row-tiled body. ROCmFPX#6 dispatches it for 8-column batches on gfx1151: its
output is bit for bit the old kernel's (40 shape/input cases), and Qwen3.8-27B
8-token batches go 71.3 -> 78.3 tok/s.
tools/bench.py, Qwen3.8-27B-H32 through
1bit serve, 2 rounds, box lock:base 559 / 546 tok/s prompt, 13.1 / 13.1 / 13.5 decode; --dflash 518 / 486
prompt, decode code / prose / short 46.0 / 28.4 / 17.6 (best; medians 45.6 /
28.0 / 17.5), with the rocm p-min 0.4 recipe applied. Before these two changes
the same tool measured 42.1 / 24.9 / 13.6.
tools/kernelforge/gemv-q4_0: the task (kernel now at the kept body, float64
oracle with adversarial inputs, driver, program.md with the first campaign's
findings, run.sh); README records the result. docs/lean.md, serve.md, README
and the site description carry the new numbers; serve.md's p-min sentence
follows the recipes.
🤖 Generated with Claude Code