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)等应用。
  • 基准测试工具:内置工具用于对目标设备的性能进行分析和测试。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目