AstrAI/csrc/kernels
ViperEkura cbd140340d perf: load prefill Q fragments directly from global (drop sQ staging)
- read the 8 Q elements each lane needs straight from global into the mma
  A-operand layout, pre-scaled, instead of staging through shared sQ
- removes the sQ smem area (20KB->16KB) and the serialized per-warp prologue
  with its WARPS __syncthreads barriers
- result vs torch SDPA: prefill 0.70-0.82x -> 0.85-1.00x (matches torch at
  seq=128; 2048 1.251->1.159ms), correctness unchanged across head dims
2026-07-10 12:27:45 +08:00
..
gqa_common.cuh fix: correct prefill mask index, unify GQA kernel interface 2026-07-06 17:21:23 +08:00
gqa_decode_attn.cu perf: add split-K (FlashDecoding) to decode MMA kernel 2026-07-10 11:43:18 +08:00
gqa_decode_attn.cuh fix: correct prefill mask index, unify GQA kernel interface 2026-07-06 17:21:23 +08:00
gqa_decode_attn_mma.cuh perf: add split-K (FlashDecoding) to decode MMA kernel 2026-07-10 11:43:18 +08:00
gqa_mma_utils.cuh perf: pipeline prefill MMA kernel (double-buffered K/V + packed stores) 2026-07-10 12:19:14 +08:00
gqa_prefill_attn.cu perf: pipeline prefill MMA kernel (double-buffered K/V + packed stores) 2026-07-10 12:19:14 +08:00
gqa_prefill_attn.cuh perf: reduce MMA kernel registers, switch to static smem 2026-07-10 00:39:47 +08:00
gqa_prefill_attn_mma.cuh perf: load prefill Q fragments directly from global (drop sQ staging) 2026-07-10 12:27:45 +08:00