microsoft/antares

Antares: an automatic engine for multi-platform kernel generation and optimization. Supporting CPU, CUDA, ROCm, DirectX12, GraphCore, SYCL for CPU/GPU, OpenCL for AMD/NVIDIA, Android CPU/GPU backends.

何を解決するか

AutoRT(Antaresの次世代)は、さまざまなハードウェアアクセラレータでのパフォーマンス最適化とベンチマークを支援するコンパイラソリューションです。PyTorch 2.0向けの高性能オペレータの作成の難しさに特化しており、高レベルのPyTorchコードとWindows DirectX 12やLinux CUDAなどの特定のハードウェアバックエンドの間のギャップを埋めます。

仕組み

AutoRTはPyTorch 2.0のバックエンドとして機能します。中間表現(IR)を使用してオペレータを定義します。ユーザーはPython APIまたはコマンドラインインターフェースを使ってカスタムまたは結合されたオペレータを定義し、AutoRTがターゲットデバイス向けにコンパイルおよび最適化します。デバイスのパフォーマンスをプロファイリングするベンチマークユーティリティとして使用できるほか、デバイス固有のランタイムを生成することで標準的なPyTorchアプリケーションを加速できます。

対象ユーザー

非標準または新しいハードウェアバックエンド向けのカスタム高性能オペレータの作成、デバイスパフォーマンスのテストやプロファイリングが必要なハードウェアアクセラレータ開発者およびPyTorchユーザー。

特徴

  • マルチバックエンド対応:Windows DirectX 12およびLinux CUDAの実験的サポート。ROCm、OpenCL、SYCL、Apple Metalのサポートを計画中。
  • カスタムオペレータ生成:シンプルなIRを使用して、組み込みのPyTorch関数を超えるカスタムまたは結合オペレータを作成可能。
  • PyTorch 2.0統合:PyTorch 2.0のバックエンドとしてシームレスに統合され、MNIST学習やLLM推論(例:Llama 2)などのアプリケーションを加速可能。
  • ベンチマークユーティリティ:ターゲットデバイスのパフォーマンスをプロファイリングおよびテストするための組み込みツール。

関連

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