NVIDIA/TileGym

Helpful kernel tutorials, examples and SKILLs for tile-based GPU programming

它解决了什么问题

TileGym 是一个旨在帮助开发者学习和实现高效 GPU 内核的库,它采用了基于分块(tile-based)的编程方式。它通过提供一个实验 CUDA Tile 的游乐场,并将这些优化的内核集成到现实世界的语言大模型(LLMs)中,从而弥合了理论 GPU 优化与实际应用之间的差距。

工作原理

TileGym 提供了一系列针对多种后端预实现的常用深度学习算子内核,包括 cuTile (Python), CUDA Tile C++, Triton CUDA Tile IR,以及一个实验性的基于 Rust 的后端 (cuTile-rs)。它允许用户在运行时切换后端以比较性能和效率。该库还包括性能基准测试工具以及针对 Llama 3.1 和 DeepSeek V2 等模型的端到端集成示例。

适用人群

它适用于 GPU 内核开发者、AI 研究人员以及希望优化 LLM 实现或学习 NVIDIA Blackwell 和 Ampere 架构上基于分块的 GPU 编程细节的工程师。

亮点

  • 多后端支持:支持使用 cuTile, C++, Triton 和 Rust 进行内核实现。
  • LLM 集成:提供加速 Llama 3.1 和 DeepSeek V2 的实际示例。
  • 性能工具:包括用于评估内核效率的微基准测试。
  • 硬件优化:专门针对 NVIDIA Blackwell 和 Ampere GPU 进行了验证。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目