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ハードウェアにマッピングするのを簡素化。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト