What's Changed
- [NSA] Support cached inference by @mutiann in #574
- [Docs] Add sparse-attention design-space note (NSA/MoBA/DSA/MSA) by @yzhangcs in #956
- [NSA] Skip empty query tiles in selective backward (bwd_dkv) by @yzhangcs in #957
- [Agents] Add correctness-gated kernel optimization loop workflow by @yzhangcs in #959
- [Docs] Restructure CONTRIBUTING; add benchmarking, testing, and style conventions by @yzhangcs in #960
- [GDN] Restrict Blackwell fwd h kernel to 2 warps by @zhiyuan1i in #953
- [NSA] Speed up parallel backward: gather+batch bwd_dkv by @yzhangcs in #961
- [NSA] Use int64 addressing to avoid int32 overflow at large T by @yzhangcs in #964
- [Attn] Prevent int32 overflow for long sequences; tune NSA large-GQA autotune by @yzhangcs in #965
- [Ops] Tile prepare_block_csr counting-sort over query blocks by @yzhangcs in #966
- [CI] Add ascend-a2-ci workflow for Atlas A2 NPU module tests by @zheliuyu in #944
- [CI] Drop auto-installed NVCC/PyTorch on H100 runners by @yzhangcs in #969
- [Agents] Tighten fla-optimization-loop guardrails from KDA-Pilot by @yzhangcs in #970
- [Fix] Scale L2Wrap logits gradient by the upstream gradient by @Sunt-ing in #963
- [Misc] Clean up feature_map type hints and add tests by @yzhangcs in #971
- [Fix] Uninitialized rotary output on left-padded batched generation by @AvivBick in #967
- [CI] Enable backend dispatch for model tests by @zhiyuan1i in #974
- [Misc] Remove unused USE_CUDA_GRAPH by @zhiyuan1i in #954
- [CI] bump GitHub Actions to latest versions by @zhiyuan1i in #976
- [Perf] Fuse GatedDeltaNet q/k/v short convolutions in the dense no-cache path by @Costa-SM in #972
- [Ops] Add naive PyTorch reference for DeepSeek Sparse Attention (DSA) by @yzhangcs in #978
- [Ops] Propagate chunk_size through non-attention chunk kernels and add coverage by @zhiyuan1i in #935
- [Ops] Expand triton-ascend backends(fla/modules, fla/ops/utils) and upgrade CANN to 9.0.0 by @zheliuyu in #973
- [Fix] remove redundant decorators, add PowGlu kernel and pin the version of torch_npu to 2.7.1.post4 for npu. by @sunyi0505 in #982
- [Fix] Restrict delta_rule prepare_wy_repr_bwd to num_warps=2 on Hopper by @zhiyuan1i in #988
- [CI] Parallelize Ascend A2 CI tests with pytest-xdist across 8 NPUs by @zheliuyu in #987
- [Fix] Prune oversized autotune configs in GLA chunk backward by @zhiyuan1i in #989
- [TileLang] Support GVA in chunk_bwd_dqkwg by @zhiyuan1i in #975
- [CI] Run op tests one file per process to avoid runner OOM by @zhiyuan1i in #991
- [Fix] Make T a runtime arg in path_attn cumprod_householder_bwd by @zhiyuan1i in #994
- [Fix] Probe TileLang availability via find_spec to avoid per-dispatch import cost by @ShareLer in #993
- [Conv] Chunk Ascend causal_conv1d launches for 65535 grid limit by @zheliuyu in #992
- [Perf] Optimize Ascend NPU activation kernels by @sunyi0505 in #995
- [Perf] Cache find_spec lookups in backend dispatch by @zhiyuan1i in #996
- [Conv] Harden triton-ascend causal_conv1d silu/add against Ascend launch limits by @zheliuyu in #997
- [GDN] Restrict Blackwell gated delta bwd autotune by @HQuanShaWu in #1000
- [Fix] fix benchamrk issues and add ub management for npu by @sunyi0505 in #1001
- [Ops] Add triton-ascend backend for l2norm and fused_norm_gate kernels by @zheliuyu in #1002
- [Fix] [Test] Remove unused GeLU/SquaredReLU NPU kernels and add Ascend UB Manager tests by @sunyi0505 in #1006
- [GDN] Add FlashQLA backend dispatch by @Erix025 in #998
- [Fix] avoid SymInt stride reads in activations under torch.compile by @zhiyuan1i in #1008
- [Fix] Expose DPLR args including cp_context/disable_recompute in chunk_rwkv7 wrapper by @sablin39 in #1004
- [Ops] Add Gluon backend for AttnRes by @yzhangcs in #1010
- [Fix] Correct Mamba-3 decay (
A==+A_floor) by @netanel-haber in #1012 - [Fix] Add get_max_length to FLA cache for transformers 5.x by @zhiyuan1i in #1009
- [Test] Skip flash-attn-dependent tests when flash-attn is not installed by @zhiyuan1i in #1014
- [Perf] Optimize triton-ascend L2Norm with row tiling on Ascend NPU by @sunyi0505 in #1036
- [Fix] Store split attention decode outputs at the correct offset by @morluto in #1031
- [Fix] Avoid concurrent LSE stores in value-split attention by @morluto in #1033
- [Refactor] Centralize generation errors for unsupported cache strategies by @morluto in #1035
- [Ops] Rewrite recompute_w_u_fwd kernel for Triton Ascend backend by @OsirisDuan in #1021
- [Fix] Support value-split Wall backward with local deltas by @morluto in #1042
- [Perf] Reuse Wall autotuning across length buckets by @morluto in #1041
- [Perf] Add LayerNormGated benchmarks and BT-tile Ascend fused_norm_gate by @sunyi0505 in #1044
- [Perf] Add opt-in TileLang RWKV6 intra kernel by @markovchain-builder in #1045
- [Perf] Fuse ds in Ascend chunk_bwd_dqkwg to avoid recomputing do@v.T by @sunyi0505 in #1048
- [Perf] Fuse Ascend chunk_fwd_o inter+intra into unified 1D core-grid kernel by @OsirisDuan in #1049
- [Cleanup] Remove Ascend chunk_fwd_o kernels superseded by #1049 by @zhiyuan1i in #1050
- [Ops] Add triton-ascend backend for KDA kernels by @zheliuyu in #1047
- [CI] Add ascend-a2-benchmark-ci and fix ascend-a2-ci by @zheliuyu in #1052
- [Attn] Support for heterogeneous hybrid-attention configurations by @Michael-RDev in #1051
- [Perf] Optimize Ascend chunk_o backward with dynamic BC tiling and contiguous g loads by @sunyi0505 in #1056
- [Perf] Optimize the performance of causal conv1D on Ascend NPU by @ChengQianqian in #1024
- [Ops] Add triton-ascend backend for attn_res kernel by @zheliuyu in #1057
- [Ops] Migrate kernels off tl.make_block_ptr / tl.advance for triton main compat by @zhiyuan1i in #1062
- [Docs] Strengthen comment discipline and agent operational guidance by @zhiyuan1i in #1058
- [Perf] Optimize Ascend chunk_delta_h bwd_dhu with dynamic BK/BV tiling and host gate precomp by @sunyi0505 in #1060
- [CI] Forbid tl.make_block_ptr/advance in lint and skip H100 CI for NPU-only PRs by @zhiyuan1i in #1063
- [Perf] Optimize Ascend prepare_wy_repr_bwd with fused KV kernel, core-grid launch, and varlen tests by @sunyi0505 in #1065
New Contributors
- @Sunt-ing made their first contribution in #963
- @ShareLer made their first contribution in #993
- @HQuanShaWu made their first contribution in #1000
- @Erix025 made their first contribution in #998
- @netanel-haber made their first contribution in #1012
- @morluto made their first contribution in #1031
- @OsirisDuan made their first contribution in #1021
- @markovchain-builder made their first contribution in #1045
- @ChengQianqian made their first contribution in #1024
Full Changelog: v0.5.1...v0.5.2