tile-ai/tilelang
Domain-specific language designed to streamline the development of high-performance GPU/CPU/Accelerators kernels
何を解決するか
TileLangは、GEMM、FlashAttention、LinearAttentionなどの高性能GPUおよびCPUカーネルの作成を簡素化します。簡潔でPython風のドメイン固有言語を提供することで、開発者が低レベルの最適化を手動で行う必要をなくし、AIワークロードに必要な最新のパフォーマンスを維持します。
仕組み
TileLangはApache TVMコンパイラインフラストラクチャの上に構築された高レベルインターフェースです。開発者はタイル化されたアプローチでカーネルを定義できます——共有メモリやフラグメントを割り当て、T.gemmやT.Pipelinedなどのプリミティブを使ってデータ移動と計算を管理します。コンパイラはこの高レベル記述を、NVIDIA CUDA、AMD ROCm/HIP、Apple Metal、およびCPU用LLVMを含むさまざまなバックエンド向けに最適化されたコードに下位変換します。
対象ユーザー
多様なハードウェアアーキテクチャ上で機械学習モデル用にカスタムで高度に最適化された演算子を実装する必要があるカーネル開発者やAIエンジニア。低レベルGPUコードを直接書く必要はありません。
特徴
- マルチバックエンド対応: NVIDIA(SM70~SM120)、AMD(CDNA/RDNA)、Apple Silicon(Metal)、およびCPU(LLVM)のネイティブサポート。
- ハードウェア固有の最適化: Blackwell MXFP8ブロックスケーリングGEMM、Metal 4協調テンソル、構造的スパース行列乗算の専用パスを含む。
- 生産性ツール: IDEサポート用の専用Language Server Protocol(LSP)、コンパイラパスのデバッグ用IRトレースツール、パス可視化ツールを搭載。
- タイル化プログラミングモデル: Python風の構文でパイプライン転送や並列操作を表現し、手動メモリ管理の複雑さを軽減。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト