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 驱动。
- 代理工作流: 包含一份教程,建议采用代理方法来学习和实现内核。
相关
- 项目
pytorch/TensorRTTorch‑TensorRT 是一个开源库,可让您编译任何 PyTorch 模型,以在 NVIDIA GPU 上以 TensorRT 速度运行。使用单行(`torch.compile(..., backend="tensorrt")`)或匯出工作流程,即可產生可在 Python 或 C++ 中載入的序列化模組。它支援 Linux、Windows 和 Jetson,可搭配 CUDA 13.4 + TensorRT 11.3 使用,並可透過 pip 或 NVIDIA 容器安裝。非常適合想要在不離開 PyTorch 生態系統的情況下,為視覺、擴散或 LLM 模型實現快速推論的開發人員。
- 项目
huggingface/accelerateAccelerate 是一个轻量级的 PyTorch 包装器,消除了在多 GPU、TPU 或混合精度下运行训练脚本的样板代码。您可以保留自己的训练循环,只需添加几行代码(一个 Accelerator 对象、一次 prepare() 调用和 accelerator.backward())。它还提供了一个可选的 CLI(accelerate config / accelerate launch)和一个笔记本启动器。它支持 CPU、单/多 GPU、多 CPU、TPU、FP16/BF16/FP8 混合精度,以及实验性的 DeepSpeed、FSDP 和 Megatron-LM。如果您希望在无需分布式设置麻烦的情况下控制训练循环,请使用它;如果您想要一个完全高级的框架,请跳过它。需要 Python 3.11+ 和 PyTorch 2.6.0+;通过 pip install accelerate 安装。
- 项目
pytorch/benchmarkPyTorch Benchmarks 是一组标准化、轻量级的流行深度学习模型(如 BERT、ResNet、Stable Diffusion 等)的集合,可用于衡量不同 PyTorch 构建、CUDA 版本和后端的性能。它提供统一 API、安装脚本、多种运行器(简单测试、pytest-benchmark、自定义用户基准)以及用于在 AWS g4dn.metal 实例上进行低噪声调优的实用工具。
- 项目
pypose/baebae 是一个为机器人技术提供高效、精确二阶稀疏优化算法的 PyTorch 库,涵盖了光束法平差 (Bundle Adjustment) 和位姿图优化 (Pose Graph Optimization)。它利用 CUDA 加速并与 PyTorch 的 autograd 集成,以解决高性能非线性最小二乘问题。
- 项目