Gemma-4 FP8 WMMA expert GEMM for M>1 prefill on gfx1201
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 423
- Forks
- 53
- Avg merge
- 20h 26m
- Merged PRs (30d)
- 310
Description
Gemma-4-26B FP8 prefill on dual R9700 still pays a dequant+BF16 Tensile tax on every T>1 expert GEMM. ROCPROF_P11K_SHAREDK (KEEP, PC=0) attributes 21.4% of prefill kernel time to hipBLAS Tensile GemmEx and 10.1% to Fp8ChannelDequantBf16. Combined 31.5%. Attention (46.4%) is a separate lever.
Row: GEMMA4-FP8-WMMA-EXPERT-GEMM
Current product path is ExpertGeGLUFp8Native (gemma4_moe.cpp): T=1 stays fused FP8 GEMV; T>1 dequantizes FP8 weights to BF16 and calls MatmulBT / MatmulBTAlphaBeta. hipBLASLt FP8 W8A8 was already slower than BF16 GemmEx on gfx1201 and is not the comparator.
This issue tracks a gated, default-OFF fused-dequant direct-FP8 WMMA expert GEMM for FP8 T>1 only. Decode M=1 is untouched. Unset / wrong-arch / wrong-dims / tail must keep today's dequant+hipBLAS path.
Spec-first. No kernel, no GPU, and no product integration on this filing. A 2026-08-16 isolated scratch probe (a70e) is not a product kernel: it failed both the numerical gate and the production speed gate (0.126× at M=2048). Reopen only a materially different construction.
Integration gate: >1.3× vs the actual production dequant+Tensile path over a time-weighted M histogram. Token-mass is measured; time weights are still VOID. Scalar-only uplift is insufficient.
Amdahl check from the p11k profile: drop the 10.1% dequant tax and ~2× the 21.4% GEMM ≈ 1.26× overall (~3130 t/s @11k from the KEEP class). That is the vision, not a GREEN.
Relates to #41. Orthogonal to #523 (GGUF keep-quant).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with gemma4_moe.cpp and the ExpertGeGLUFp8Native path to understand the existing T>1 expert GEMM behavior. Review the ROCPROF_P11K_SHAREDK profile and the numerical, architecture, dimension, tail, and time-weighted production speed gates. Done means a materially different construction that passes the numerical gate and exceeds 1.3× the production dequant+Tensile path; this filing does not request product integration yet.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend, machine-learning, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100