Repolode
microsoft

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. 1

    CUDAまたはROCm向けの推奨Dockerイメージをセットアップする

  2. 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では、以前のバージョン向けの非推奨のマニュアルと旧ドキュメントを案内しています。

収録されている特集

トピック

#compiler#pytorch#cuda#rocm#gpu#kernel-generation#operator-optimization

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト