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.

What it solves

AutoRT is a compiler solution designed to help runtime users create, benchmark, and optimize operators for PyTorch using their own hardware accelerators. It simplifies the process of writing custom kernels for different backends like CUDA and ROCm.

How it works

AutoRT functions as a compiler that allows users to define functions and bindings for hardware accelerators. Users can write kernel bodies using CUDA/HIP C++ 17 standards, following a specific syntax for defining inputs and outputs (e.g., @DEF_FUNC and @DEF_BIND).

Who it’s for

Developers and runtime users who need to optimize PyTorch operators and target specific hardware accelerators.

Highlights

  • Multi-backend support: Supports CUDA and ROCm environments.
  • C++ 17 Standard: Kernel bodies follow the CUDA/HIP C++ 17 standard.
  • C++ 17 Standard: Kernel bodies kernels can be defined and CLI-driven via the autort command.
  • Agentic workflow: Includes a tutorial that suggests an agentic approach to learning and implementing kernels.

Related

  • Project
  • Project
  • Project
  • Project
  • Project