コース一覧へ戻る
AI023 Professional

Tritonプログラミング入門:実践的なチュートリアル

Tritonは、カスタムGPUカーネルを書くためのPythonベースの言語およびコンパイラです。本コースでは、ベクトル加算から始まり、現代のディープラーニングシステムで使われる融合型・タイリング型演算子まで、プログラミングモデル、言語の意味論、数値的挙動、パフォーマンス最適化について包括的な科学的チュートリアルを提供します。

5.0
30.0h
561 受講者
0 いいね
人工知能
学習を開始

コース概要

📚 コンテンツ概要

Triton(カスタムGPUカーネルを記述するためのPythonベースの言語およびコンパイラ)の完全な学習パスを提供する包括的な科学的チュートリアル。本コースでは、プログラミングモデル、言語の意味論、数値挙動、パフォーマンス最適化について扱い、ベクトル加算から現代のディープラーニングシステムで使われる融合済み・タイリングされた演算まで、段階的に進んでいきます。

第一原理に基づいて、高性能GPUカーネル設計の技術をマスターしよう。

著者: EvoClass

謝辞: TritonドキュメントおよびTriton GitHubリポジトリ。

🎯 学習目標

  1. Tritonの定義とディープラーニングソフトウェアスタックにおける役割を説明できる。
  2. CUDA、PyTorchのイージーコード、低レベルGPUアセンブリとの違いを識別できる。
  3. Tritonに適したワークロードを特定し、カーネル融合とボトルネックの重要性を理解できる。
  4. Triton環境のクリーンインストールを行い、ソフトウェアスタックの整合性を検証できる。
  5. 基本的なベクトルコピー・カーネルを実装し、環境ロジックとカーネルロジックの区別を検証できる。
  6. GPUのボトルネックを識別・分類し、PyTorchのオペレータ融合の必要性を正当化できる。
  7. プログラムインスタンスを定義し、cdivを使用して1次元のランチグリッドの次元を計算できる。
  8. 特定のプログラムID(pid)をメモリオフセットにマッピングするためのポインタ算術を行う。
  9. ホスト側のPyTorchテンソル(メタデータ)とコンパイラレベルのTritonテンソル(ブロック)の違いを区別できる。
  10. tl.arangeを使用して、プログラムID(pid)と特定のメモリオフセットとの間のマッピングを計算できる。

レッスン