InfiniTensor/ninetoothed
A domain-specific language (DSL) based on Triton but providing higher-level abstractions.
何を解決するか
NineToothedは、高性能GPUカーネルの作成を簡素化します。低レベルのGPUコードを書く際に通常伴う複雑さを排除し、よりアクセスしやすいドメイン固有言語(DSL)を提供します。
どう動くか
テンソル指向のメタプログラミング(TOM) というパラダイムと「配置して適用する」アプローチを使用します。開発者は3つの異なるコンポーネントを定義します:arrangement(データのタイリングと拡張方法)、application(実際の計算ロジック)、およびtensors自体。これらは ninetoothed.make を使って統合され、Tritonベースのカーネルが生成されます。
対象ユーザー
カスタムで高性能GPUカーネルを書く必要があるが、直接TritonやCUDAコードを使うよりも高レベルな抽象化を望む開発者や研究者。
特徴
- TritonベースのDSL:GPUパフォーマンスをTritonで活用。
- 配置して適用するパラダイム:データレイアウトと計算ロジックを分離し、明確さを向上。
- テンソル指向のメタプログラミング:高レベルなテンソル操作をGPUハードウェアにマッピングするのを簡素化。
関連
- プロジェクト
triton-lang/tritonTriton は、ディープラーニングプリミティブ用のカスタム GPU カーネルを書くためのオープンソース言語およびコンパイラです。Python に似たDSL(`@triton.jit`)を提供し、MLIR ベースのバックエンドを介して効率的な NVIDIA および AMD GPU コードにコンパイルされ、自動チューニング、CPU デバッグ用インタプリタ、拡張可能なコンパイラステージを備えています。
- プロジェクト
pytorch/helionHelionは、GPUカーネルを通常のPyTorchコードのように記述できるPython埋め込み型DSLです。内部ループをTritonにコンパイルし、タイル化、グリッドサイズ、メモリアクセス戦略を自動的に選択し、広範なオートチューナーを実行して最速の構成を見つけます。最適な構成を本番用に固定でき、実験的なバックエンド(TileIR、CuTe)がハードウェアサポートを広げます。
- プロジェクト
NVIDIA/tilusTilusは、共有メモリとレジスタに対する明確な制御を可能にするタイルレベルのGPUカーネルプログラミング言語であり、高パフォーマンスな低精度計算を実現します。
- プロジェクト
tile-ai/tilelangTVM を基盤にした、GEMM や FlashAttention などの高性能 GPU/CPU/NPU カーネルを開発するための簡潔なドメイン固有言語とコンパイラ。
- プロジェクト
ByteDance-Seed/Triton-distributedTriton-distributedは、ByteDance-Seedがオープンソース化したコンパイラであり、Triton言語を拡張してGPUの計算と通信をオーバーラップさせるためのプリミティブを提供します。NVIDIAおよびAMD GPU上で高性能な分散カーネル(GEMM、MoE、flash-decode、AllToAllなど)を実現し、手動でチューニングされたライブラリに匹敵する高速化を提供します。ソースまたはビルド済みのpip wheelからインストールし、@triton_dist.jitを使用してカーネルを記述し、提供されている低レベル通信APIを利用できます。プロジェクトは活発に更新されており(最新ニュースは2026年9月)、MITライセンスで公開されています。