What's Changed
- [mla] pad all dense 2CTA MQA head counts in-kernel by @liangel-02 in #3140
- [FA2] Fix flash_attn_with_kvcache with cache_leftpad and no cache_seqlens by @andrewliu2001 in #3092
- [CuTe, SM100] Preserve the 15-bit sm_107 SMEM descriptor address by @drisspg in #3029
- [CuTe, SM100] Backward: explicit work-tile and head coordinates by @Johnsonms in #3141
- [CuTe, SM100] Compile autotune candidates for sm_107a by @drisspg in #3121
- [CuTe, SM100] Make the dynamic varlen forward scheduler bind tiles late and self-reset by @drisspg in #3086
- [CuTe, SM100] Route padded varlen forward calls to the dynamic persistent scheduler by @drisspg in #3087
- [CuTe, SM100] Give BF16 2CTA hd128 softmax 192 registers by @drisspg in #3016
- [CuTe, SM100] Release softmax statistics per stage by default by @drisspg in #3017
- [CuTe, SM100] Group FP8 descales in a typed scales argument by @drisspg in #3027
- [CuTe, SM100] Unify hd256 backward (6/7): pack 2 query heads per tile and loop the KV head's remaining heads inside the CTA by @Johnsonms in #3059
- [FA2] Keep split-KV block steps and accumulator offsets in 64 bits by @0z5a in #3101
- [CuTe, Bwd, SM100] Fold the hdim64 LSE / dPsum subtractions into the S / dP MMA by @drisspg in #3098
- [FA2] Check cache_batch_idx length in mha_fwd_kvcache by @bhargavchintam in #3102
- [CuTe, SM100] hd256 keeps PackGQA when 2CTA is not possible by @Johnsonms in #3148
- [CuTe, SM100] Unify hd256 backward (7/7): make it the default and delete the dedicated kernels by @Johnsonms in #2968
- [CuTe, SM100] Add MXFP8 quantization and scale-layout helpers by @drisspg in #3018
- [CuTe, SM100] Add MXFP8 QK forward with BF16 PV by @drisspg in #3019
- [CuTe, SM100] hd256 backward follow-ups from #2968 by @Johnsonms in #3155
New Contributors
- @andrewliu2001 made their first contribution in #3092
- @0z5a made their first contribution in #3101
- @bhargavchintam made their first contribution in #3102
Full Changelog: fa4-v4.0.0.beta38...fa4-v4.0.0.beta39