GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
microsoft/antares
AutoRTは、開発者が独自アクセラレータ向けのPyTorchオペレーターを作成し、ベンチマークや最適化を行うためのコンパイラツールです。
- スター
- 470
- フォーク
- 51
- 未解決の Issue
- 12
- 最終コミット
- 15 日前
これは何?
AutoRTは、MicrosoftのAntaresプロジェクトを発展させたもので、独自アクセラレータ上でPyTorch向けオペレーターを記述し、ベンチマークやチューニングを行いたいランタイムユーザー向けのコンパイラソリューションです。カーネルはCUDAまたはHIPのC++関数本体として記述し、入力・出力テンソルの形状と起動時のバインディングを宣言する短いヘッダーを添えます。
プロジェクトには、コマンドラインツールのautortが用意されています。基本的なカーネルは、関数シグネチャ、形状のバインディング、blockIdxやthreadIdxを使う本体をインラインで定義でき、AutoRTがコンパイルして実行します。また、こうしたカーネルを記述するAIエージェント向けのガイド、SKILLS.mdも含まれています。
推奨環境として、CUDA用(Ubuntu 24.04、CUDA 12.8)とROCm用(Ubuntu 24.04、ROCm 7.2.4)のDockerイメージが用意されています。以前の手動セットアップやレガシー向けのドキュメントも参照用に残されていますが、非推奨と明記されています。
主な機能
- 01CUDAまたはHIPのC++構文でPyTorchオペレーターのカーネルを記述できます。
- 02インラインで定義したカーネルをコンパイルして実行するコマンドラインツールautortを提供します。
- 03短いヘッダーでテンソルの形状と起動時のバインディングを宣言できます。
- 04カーネルを記述するAIエージェント向けのSKILLS.mdガイドが含まれています。
- 05CUDAおよびROCm環境用のDocker構成を提供します。
ユースケース
- NVIDIA GPU向けにカスタムPyTorchオペレーターのプロトタイプを作成する。
- ROCmを使ってAMD GPU向けにオペレーターを移植またはチューニングする。
- AIエージェントにアクセラレータ向けカーネルを生成・テストさせる。
クイックスタート
- 1
CUDAまたはROCm向けの推奨Dockerイメージをセットアップする
- 2
autortコマンドでHello Worldの例を実行する
autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
使う前に知っておきたいこと
- READMEにはパッケージマネージャーを使ったインストールコマンドが記載されていないため、推奨Dockerイメージを使ってセットアップします。
- CUDAまたはROCm対応のアクセラレーター環境が必要です。
- READMEでは、以前のバージョン向けの非推奨のマニュアルと旧ドキュメントを案内しています。
収録されている特集
トピック
よくある質問
- antares とは?
- AutoRTは、開発者が独自アクセラレータ向けのPyTorchオペレーターを作成し、ベンチマークや最適化を行うためのコンパイラツールです。 AutoRTは、MicrosoftのAntaresプロジェクトを発展させたもので、独自アクセラレータ上でPyTorch向けオペレーターを記述し、ベンチマークやチューニングを行いたいランタイムユーザー向けのコンパイラソリューションです。カーネルはCUDAまたはHIPのC++関数本体として記述し、入力・出力テンソルの形状と起動時のバインディングを宣言する短いヘッダーを添えます。
- antares は無料で使えますか?ライセンスは?
- antares は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- antares は今もメンテナンスされていますか?
- 活発にメンテナンス中。antares の最終コミットは 2026年10月23日 です。
- antares は何に使えますか?
- NVIDIA GPU向けにカスタムPyTorchオペレーターのプロトタイプを作成する。 ROCmを使ってAMD GPU向けにオペレーターを移植またはチューニングする。 AIエージェントにアクセラレータ向けカーネルを生成・テストさせる。
- antares のインストール方法は?
- CUDAまたはROCm向けの推奨Dockerイメージをセットアップする autortコマンドでHello Worldの例を実行する: autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
- antares はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/microsoft/antares
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
深層ニューラルネットワークをfp16のCUDA/HIP C++コードにコンパイルし、NVIDIAおよびAMD GPUでの高速推論を実現するPythonフレームワーク。
推測デコード、推測プリフィル、カスタムカーネルを活用し、コンシューマー向けGPUやAMD/NVIDIA混在環境で動作するC++製LLM推論サーバー。
Python風のコードで高効率な深層学習向けGPUカーネルを記述できる言語・コンパイラ。CUDAより高い生産性を目指します。
MLIRベースのコンパイラとランタイム。MLモデルを統一IRに変換し、データセンターからモバイル・エッジデバイスまで展開できます。