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 等基线进行性能对比。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目