inclusionAI/cuLA
CUDA kernels for linear attention variants, written in CuTe DSL and CUTLASS C++.
解决的问题
cuLA 提供针对线性注意力变体的高性能 CUDA 内核,旨在取代大语言模型中的标准二次注意力机制,从而实现更高效的长文本工作负载处理。它专门针对最新的 NVIDIA GPU(Blackwell 和 Hopper)进行优化,以最大化硬件加速效果。
运作原理
该库使用 CuTe DSL 和 CUTLASS C++ 编写,提供针对 GLA、KDA (Kimi Delta Attention)、GDN 和 Lightning Attention 等线性注意力算法的手动调优实现。它被设计为 flash-linear-attention (FLA) 库的直接替代品,共享相同的接口,让用户可以切换到 cuLA 内核以获得更好的性能。
适用对象
需要在 NVIDIA Hopper (SM90) 和 Blackwell (SM10X) GPU 上获得最大吞吐量与效率,且从事长文本大语言模型研究的 AI 研究人员与工程师。
特点
- 硬件优化: 专门针对 NVIDIA Blackwell (SM10X) 和 Hopper (SM90) 架构进行调优。
- 显著加速: 相较于 FLA 基线展现出显著的性能提升,例如在 Hopper 上 FlashKDA 预填充速度提升高达 7.56 倍。
- 广泛的算法支持: 实现了 Lightning Attention 和 KDA 等变体,并支持预填充 (prefill) 与解码 (decode) 阶段。
- FLA 兼容: 设计用于与
flash-linear-attention生态系统无缝集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目