NVIDIA/tilus

Tilus is a tile-level kernel programming language with explicit control over shared memory and registers.

何を解決するか

Tilusは、GPUカーネルプログラミングの複雑さを軽減するため、開発者が個々のスレッドを手動で管理することなく高性能なカーネルを書けるようにするドメイン固有言語(DSL)を提供します。特に低精度計算をターゲットとし、Tritonなどの既存の代替手段よりもハードウェアリソースに対するより明確な制御を提供します。

動作方法

Tilusはスレッドブロックレベルの粒度で動作し、テンソルを主なデータ型として使用します。プログラマーは共有メモリとレジスタテンソルに対する明確な制御を可能にし、1〜8ビットまでの任意のビット幅の低精度型をサポートします。言語にはPython風のインターフェース、自動チューニング、キャッシュ機能が含まれており、開発プロセスを簡素化します。

対象ユーザー

高性能GPUカーネルを開発する研究者や開発者向けに設計されており、特に低精度計算に注力している人、または高レベルな抽象化では得られないメモリ管理のより詳細な制御を求める人にとって適しています。

主な特徴

  • タイルレベルプログラミング:個々のスレッドではなく、スレッドブロックとテンソルに焦点を当てます。
  • ハードウェア制御:共有メモリとレジスタテンソルに対する明確な制御を提供します。
  • 低精度サポート:1〜8ビットまでの任意のビット幅をサポートします。
  • 高性能:BlackwellおよびHopper GPU上でcuBLASレベルのパフォーマンスに達することができます。
  • Python風インターフェース:GPUカーネル開発に使いやすいインターフェースを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト