AstrAI/csrc
ViperEkura e9b03f4fca perf: apply cp.async, XOR swizzle, pre-scaled Q to decode MMA kernel
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)
2026-07-08 16:15:14 +08:00
..
kernels perf: apply cp.async, XOR swizzle, pre-scaled Q to decode MMA kernel 2026-07-08 16:15:14 +08:00
tests perf: add fast-math and vectorization nvcc/cxx build flags 2026-07-07 22:28:32 +08:00
__init__.py feat: add optional CUDA kernel system (csrc/) + fused GQA decode attention 2026-07-06 12:09:58 +08:00
build.py perf: add fast-math and vectorization nvcc/cxx build flags 2026-07-07 22:28:32 +08:00