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)などのアプリケーションを加速可能。
- ベンチマークユーティリティ:ターゲットデバイスのパフォーマンスをプロファイリングおよびテストするための組み込みツール。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト