mlc-ai/modern-gpu-programming-for-mlsys

A tutorial on modern GPU programming for machine learning systems

解决的问题

本项目提供了一种结构化的教育资源,用于学习如何编写现代 GPU 内核,特别针对 Blackwell 级 GPU 架构。它弥合了理解硬件机制与为机器学习系统编写高性能、最先进内核之间的鸿沟。

工作原理

本书采用循序渐进的方法:首先解释 GPU 硬件(内存层次结构、Tensor Cores 和异步引擎),然后引入 TIRx (Tensor IR next),这是一种 Python 领域特定语言。读者使用 TIRx 在中间表示层编写内核,从基础的矩阵乘法逐步构建到复杂的实现,如 Flash Attention 4。

适用人群

本资源专为对机器学习底层 GPU 编程感兴趣的开发人员和研究人员设计。请注意,运行所提供的代码示例需要访问 Blackwell 级硬件(例如 B200 GPU)。

亮点

  • 现代 GPU 硬件的综合指南,包括 TMA、Tensor Memory 和 warpgroups。
  • 使用 TIRx 在 Python 中编写 GPU 内核的实践入门。
  • 高性能内核的逐步开发,包括分块 GEMM 和 Flash Attention 4。
  • 关于基准测试、性能分析和调试异步内核的实用附录。

相关

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