- Add vllm/patches/layers/csa_attention.py: pure PyTorch replacement for FlashMLA + fused CUDA kernels that don't work on SM100 - Patch deepseek_v4_attention.py: detect SM100+ and dispatch to _forward_blackwell() which uses: 1. fused_qnorm_rope_kv_insert_py() instead of C++ kernel 2. full_sdpa_attention() instead of FlashMLA 3. BF16 inverse RoPE + BMM for wo_a (same as existing BF16 path) - Add csa_attention.py to Dockerfile The Blackwell path: GEMM projections (CuTeDSL) → RMS norm → q_b → RoPE (PyTorch) → SDPA attention → inverse RoPE + wo_a BMM → wo_b → output
3.9 KiB
3.9 KiB