You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
opt(flydsl): adaptive ROWS_PER_WG for decode vs prefill in qk_norm_rope_quant gfx1250
R=32 (1024-thread workgroup) maximises waves/workgroup and is optimal for
prefill, but at small token counts it launches too few workgroups
(65*ceil(T/32)) to fill all 256 CUs, leaving them idle. Select the packing
per launch by token count: T <= 96 (decode) uses R=16 to spread across more
CUs; larger T keeps R=32. rows_per_wg threads through _build_kernel and the
cached compile so the two variants coexist (distinct kernel names r16/r32).
decode T=64 (kernel-trace min): 5.53us -> 5.33us; prefill unchanged (T=16384
~440us). Correctness verified across the R boundary (T=1,2,33,64,96,97,128,512)
for all quant configs, q_weight, and the kv_write smoke test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments