コース一覧へ戻る
AI023
プロフェッショナル
Tritonプログラミング入門:実践的なチュートリアル
Tritonは、カスタムGPUカーネルを書くためのPythonベースの言語およびコンパイラです。本コースでは、ベクトル加算から始まり、現代のディープラーニングシステムで使われる融合型・タイリング型演算子まで、プログラミングモデル、言語の意味論、数値的挙動、パフォーマンス最適化について包括的な科学的チュートリアルを提供します。
5.0
30.0h
561 受講者
10 レッスン
0 いいね
人工知能
コース概要
コンテンツ概要
Triton(カスタムGPUカーネルを記述するためのPythonベースの言語およびコンパイラ)の完全な学習パスを提供する包括的な科学的チュートリアル。本コースでは、プログラミングモデル、言語の意味論、数値挙動、パフォーマンス最適化について扱い、ベクトル加算から現代のディープラーニングシステムで使われる融合済み・タイリングされた演算まで、段階的に進んでいきます。
第一原理に基づいて、高性能GPUカーネル設計の技術をマスターしよう。
著者: EvoClass
謝辞: TritonドキュメントおよびTriton GitHubリポジトリ。
学習目標
- Tritonの定義とディープラーニングソフトウェアスタックにおける役割を説明できる。
- CUDA、PyTorchのイージーコード、低レベルGPUアセンブリとの違いを識別できる。
- Tritonに適したワークロードを特定し、カーネル融合とボトルネックの重要性を理解できる。
- Triton環境のクリーンインストールを行い、ソフトウェアスタックの整合性を検証できる。
- 基本的なベクトルコピー・カーネルを実装し、環境ロジックとカーネルロジックの区別を検証できる。
- GPUのボトルネックを識別・分類し、PyTorchのオペレータ融合の必要性を正当化できる。
- プログラムインスタンスを定義し、
cdivを使用して1次元のランチグリッドの次元を計算できる。 - 特定のプログラムID(
pid)をメモリオフセットにマッピングするためのポインタ算術を行う。 - ホスト側のPyTorchテンソル(メタデータ)とコンパイラレベルのTritonテンソル(ブロック)の違いを区別できる。
tl.arangeを使用して、プログラムID(pid)と特定のメモリオフセットとの間のマッピングを計算できる。