Decode MMA kernel previously used scalar global→shared loads with LD=HEAD_DIM+8 padding and per-tile scale multiply. This commit brings it in line with the prefill MMA kernel (which already had these optimizations): - cp.async K/V loads (bypasses registers, halves load instructions) - XOR swizzle: LD=HEAD_DIM instead of HEAD_DIM+8 (zero waste smem) - Pre-scale Q during load (removes per-tile scale multiply in softmax) - Clean up prefill MMA kernel comments (no code change) ~2x speedup on decode (0.47ms→0.24ms at seq_len=512) |
||
|---|---|---|
| .. | ||
| gqa_common.cuh | ||
| gqa_decode_attn.cu | ||
| gqa_decode_attn.cuh | ||
| gqa_decode_attn_mma.cuh | ||
| gqa_mma_utils.cuh | ||
| gqa_prefill_attn.cu | ||
| gqa_prefill_attn.cuh | ||
| gqa_prefill_attn_mma.cuh | ||