Files
project_6/vllm/attention
muh-engine 18c42c099d [ENGINE] triton_flash_attention.py: CCCL make_warp_uniform autotune
Added 4 BI-V100 optimized autotune configs from reading
cub/detail/warpspeed/make_warp_uniform.cuh:

CCCL insight: makeWarpUniform ensures all threads in a warp hold
the same control-flow value → zero divergence. In Triton, this
translates to small CTAs (num_warps=2) where all threads access
the same batch/head pair, eliminating divergent memory access.

New configs:
  - BLOCK_M=32,N=32, stages=2, warps=2, PRE_LOAD_V=True
    (highest occupancy: 64 threads/CTA → 16+ concurrent CTAs on 16 SMs)
  - BLOCK_M=64,N=32, stages=2, warps=4, PRE_LOAD_V=True
    (asymmetric: longer Q sweep, warp-uniform K/V access)
  - BLOCK_M=16,N=32, stages=2, warps=2, PRE_LOAD_V=True
    (ultra-small: max occupancy for very short queries)

All use num_stages=2 (double prefetch buffer → matches 64KB BIF).
PRE_LOAD_V=True mirrors CCCL agent_reduce ConsumeFullTile pattern:
pre-load data into registers before computation. Safe because
register pressure for 32×256 tiles is only 16K regs << 64K limit.

Autotune will automatically discard configs that perform worse
on actual hardware — zero risk of regression.

CCCL file: cub/detail/warpspeed/make_warp_uniform.cuh
2026-08-05 09:29:23 +00:00
..