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)等應用程式。
  • 基準測試工具:內建工具可用於剖析與測試目標裝置的效能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案