HazyResearch/HipKittens
Fast and Furious AMD Kernels
解决的问题
HipKittens 提供了一组低级别的 C++ 编程原语,旨在帮助开发者为 AMD GPU 编写高性能 AI 内核。它通过针对 AMD 的 CDNA3 和 CDNA4 芯片组架构的特定架构特性进行优化,解决了在多硅片未来中,AI 软件能够高效跨不同硬件平台移植的挑战。
工作原理
该库从硬件出发构建,专注于硅片的实际运行方式。它实现了多个关键原语:
- Tile 原语:针对张量核心单元设计的内存操作,无银行冲突且合并访问,以最小化地址计算成本。
- Python 风格函数:轻量级批量计算函数,封装了汇编和 HIP。
- 异步加载/存储:直接将缓冲区加载到共享内存,用于隐藏延迟和地址生成。
- uma 调度与重叠:特定模式(如 8 波 ping pong 和 4 波交错)以重叠计算与内存操作。
适用人群
适用于针对 AMD 硬件(MI300X、MI325X、MI350X、MI355X)开发高性能 AI 内核(如 GEMM、Attention、Layernorm)的开发者和研究人员。
主要亮点
- 硬件中心设计:专为 CDNA3 和 CDNA4 架构优化。
- 广泛的内核支持:包含 BF16 GEMM、多种 Attention 前向/反向(MHA、GQA、Causal)、Rotary 以及融合 Layernorm 的实现。
- AITER 集成:官方作为 AITER 的后端提供。
- 性能基准测试:包含脚本,用于与 Triton、CK、HipBLASLT 和 Mojo 等基线进行性能对比。
相关
- 项目
- 项目
- 项目
- 项目
- 项目