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 は、ランタイムユーザーが独自のハードウェアアクセラレータを使用して PyTorch のオペレータを作成、ベンチマーク、最適化するのを支援するために設計されたコンパイラソリューションです。CUDA や ROCm などの異なるバックエンド向けにカスタムカーネルを記述するプロセスを簡素化します。

仕組み

AutoRT は、ユーザーがハードウェアアクセラレータの関数とバインディングを定義できるようにするコンパイラとして機能します。ユーザーは CUDA/HIP C++ 17 標準を使用してカーネル本体を記述し、入力と出力を定義するための特定の構文(例: @DEF_FUNC と @DEF_BIND)に従います。

対象者

PyTorch オペレータを最適化し、特定のハードウェアアクセラレータをターゲットにする必要がある開発者およびランタイムユーザー。

ハイライト

  • マルチバックエンドサポート: CUDA および ROCm 環境をサポートします。
  • C++ 17 標準: カーネル本体は CUDA/HIP C++ 17 標準に従います。
  • C++ 17 標準: カーネル本体のカーネルは autort コマンドを使用して定義および CLI 駆動できます。
  • エージェントワークフロー: カーネルの学習と実装に対するエージェントアプローチを提案するチュートリアルが含まれています。

関連

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