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

A tutorial on modern GPU programming for machine learning systems

解決する課題

このプロジェクトは、特に Blackwell クラスの GPU アーキテクチャをターゲットとした、最新の GPU カーネルのプログラミング方法を学習するための構造化された教育リソースを提供します。ハードウェアの仕組みの理解と、機械学習システム向けの高性能で最先端のカーネル作成との間のギャップを埋めるものです。

仕組み

本書では段階的なアプローチを採用しています。まず GPU ハードウェア(メモリ階層、Tensor Cores、非同期エンジン)について解説し、次に Python ドメイン固有言語である TIRx (Tensor IR next) を導入します。読者は TIRx を使用して中間表現レベルでカーネルを記述し、基本的な行列乗算から Flash Attention 4 のような複雑な実装までを段階的に構築していきます。

対象読者

このリソースは、機械学習のための低レベル GPU プログラミングに関心のある開発者や研究者向けに設計されています。提供されているコード例を実行するには、Blackwell クラスのハードウェア(B200 GPU など)へのアクセスが必要であることに注意してください。

ハイライト

  • TMA、Tensor Memory、warpgroups を含む、最新の GPU ハードウェアに関する包括的なガイド。
  • Python で GPU カーネルを記述するための TIRx の実践的な入門。
  • タイル化された GEMM や Flash Attention 4 を含む、高性能カーネルの段階的な開発。
  • 非同期カーネルのベンチマーク、プロファイリング、デバッグに関する実用的な付録。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト