TileGym
April 25, 2026 · View on GitHub
English | 简体中文 | 繁體中文 | 日本語 | Français
TileGym
TileGym は、タイルベースの GPU プログラミングのための豊富なカーネルチュートリアルとサンプルを提供する CUDA Tile カーネルライブラリです。
概要 | 機能 | インストール | クイックスタート | コントリビューション | ライセンス
概要
このリポジトリは、タイルベースの GPU プログラミングに役立つカーネルチュートリアルとサンプルを提供することを目的としています。TileGym は CUDA Tile を体験するためのプレイグラウンドであり、効率的な GPU カーネルの構築方法を学び、Llama 3.1 や DeepSeek V2 などの実際の大規模言語モデルへの統合を探索できます。タイルベースの GPU プログラミングの学習中の方も、LLM 実装の最適化を目指している方も、TileGym は実践的なサンプルと包括的なガイダンスを提供します。
機能
- 豊富な CUDA Tile カーネルサンプル集
- 一般的なディープラーニング演算子の実用的なカーネル実装
- カーネル効率を評価するためのパフォーマンスベンチマーク
- 人気のある LLM(Llama 3.1、DeepSeek V2)とのエンドツーエンド統合サンプル
インストール
前提条件
GPU サポート: TileGym には CUDA 13.1+ と Blackwell GPU(例:B200、RTX 5080、RTX 5090)が必要です。NVIDIA Ampere(例:A100)も CUDA 13.2+ でサポートされています。リリース済みのすべての cuTile カーネルは両アーキテクチャで検証済みです。CUDA は NVIDIA CUDA ダウンロード からダウンロードしてください。
- PyTorch(バージョン 2.9.1 または互換バージョン)
- CUDA 13.1+(必須 - TileGym は CUDA 13.1+ でのみビルドおよびテストされています)
- Triton(PyTorch のインストールに含まれます)
セットアップ手順
1. torch と triton 環境の準備
すでに torch と triton がインストールされている場合は、この手順をスキップしてください。
pip install --pre torch --index-url https://download.pytorch.org/whl/cu130
torch==2.9.1 で動作確認済みです。torch をインストールする際に triton パッケージも自動的に取得されます。
2. TileGym のインストール
TileGym は GPU カーネルプログラミングに cuda-tile(≥ 1.3.0)を使用しており、実行時に tileiras コンパイラに依存しています。
PyPI からインストール(推奨)
pip install tilegym[tileiras]
これにより、TileGym とすべてのランタイム依存関係がインストールされます。cuda-tile[tileiras] が含まれており、tileiras コンパイラが Python 環境に直接バンドルされます。
システムに tileiras が既にインストールされている場合(例:CUDA Toolkit 13.1+ から)、追加オプションを省略できます:
pip install tilegym
ソースからインストール
git clone https://github.com/NVIDIA/TileGym.git
cd TileGym
pip install .[tileiras] # または: pip install . (システムに tileiras がある場合)
編集可能(開発)モードの場合は、pip install -e . または pip install -e .[tileiras] を使用してください。
すべてのランタイム依存関係は requirements.txt に宣言されており、pip install tilegym と pip install . の両方で自動的にインストールされます。
Dockerfile も提供しています。modeling/transformers/README.md を参照してください。
クイックスタート
TileGym には主に3つの使用方法があります:
1. カーネルサンプルの探索
すべてのカーネル実装は src/tilegym/ops/ ディレクトリにあります。最小限のスクリプトで個々の操作をテストできます。関数レベルの使用方法と個々の演算子の最小スクリプトは tests/ops/README.md に記載されています。
2. ベンチマークの実行
マイクロベンチマークでカーネルパフォーマンスを評価:
cd tests/benchmark
bash run_all.sh
完全なベンチマークガイドは tests/benchmark/README.md で確認できます。
3. LLM Transformer サンプルの実行
エンドツーエンドの推論シナリオで TileGym カーネルを使用します。TileGym カーネルで高速化された Transformer 言語モデル(例:Llama 3.1-8B)の実行可能なスクリプトと手順を提供しています。
まず、追加の依存関係をインストールします:
pip install accelerate==1.13.0 --no-deps
コンテナ化セットアップ(Docker):
docker build -t tilegym-transformers -f modeling/transformers/Dockerfile .
docker run --gpus all -it tilegym-transformers bash
詳細は modeling/transformers/README.md をご覧ください。
4. Julia (cuTile.jl) カーネル (オプション)
TileGym には、Julia による実験的な cuTile.jl カーネル実装も含まれています。これらは julia/ ディレクトリに独立して収められており、Python の TileGym パッケージを必要としません。
前提条件: Julia 1.12+、CUDA 13.1、Blackwell GPU
# Julia のインストール(未インストールの場合)
curl -fsSL https://install.julialang.org | sh
# 依存関係のインストール
julia --project=julia/ -e 'using Pkg; Pkg.instantiate()'
# テストの実行
julia --project=julia/ julia/test/runtests.jl
依存関係の詳細は julia/Project.toml を参照してください。
コントリビューション
あらゆる種類のコントリビューションを歓迎します。ガイドラインについては、コントリビューターライセンス契約(CLA)プロセスを含む CONTRIBUTING.md をお読みください。
ライセンスおよび第三者に関する通知
- プロジェクトライセンス:MIT
- 第三者の帰属表示とライセンステキスト: