MIGraphX 执行提供程序
MIGraphX 执行提供程序使用 AMD 的深度学习图优化引擎来加速 AMD GPU 上的 ONNX 模型。
目录
安装
注意 请确保安装此处指定的正确 Pytorch 版本 PyTorch 版本。
对于 Nightly PyTorch 构建版本,请参阅 Pytorch 主页 并选择 ROCm 作为计算平台。
带有 MIGraphX EP 的 ONNX Runtime 预构建二进制文件已针对大多数语言绑定发布。请参考 安装 ORT。
自 ROCm 6.0.2 起,AMD 提供托管在 (https://repo.radeon.com/rocm/manylinux) 上的预构建 python wheels
要求
以下是与 Ubuntu 构建相对应的受支持 ROCm 版本的矩阵。
预构建 Python Wheels (.whl) 的链接在下面链接,对应于基于 Ubuntu 支持的主机操作系统的 python 版本。
ONNX Runtime 版本 | MIGraphX ROCm 版本 | Repo.Radeon 链接 |
---|---|---|
main | 5.4 | |
1.14 | 5.4 | |
1.13 | 5.4 | |
1.13 | 5.3.2 | |
1.12 | 5.2.3 | |
1.12 | 5.2 | |
1.13 | 5.3 | |
1.14 | 5.4 | |
1.15 | 5.4.x | |
1.16 | 6.0.0 | |
1.16 | 6.0.2 | Python 3.10 |
1.17 | 6.1 | Python 3.8 Python 3.10 |
1.17 | 6.1.3 | Python 3.10 |
1.18 | 6.2 | Python 3.8 Python 3.10 |
1.18 | 6.2.3 | Python 3.10 |
1.18 | 6.2.4 | Python 3.10 |
1.19 | 6.3 | Python 3.10 Python 3.12 |
1.19 | 6.3.1 | Python 3.10 Python 3.12 |
构建
有关构建说明,请参阅构建页面。
用法
C/C++
Ort::Env env = Ort::Env{ORT_LOGGING_LEVEL_ERROR, "Default"};
Ort::SessionOptions so;
int device_id = 0;
Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_MIGraphX(so, device_id));
C API 详细信息在此处。
Python
当使用通过 MIGraphX 执行提供程序构建的 ONNX Runtime 中的 Python wheel 时,它将自动优先于默认的 GPU 或 CPU 执行提供程序。无需单独注册执行提供程序。
Python API 详细信息在此处。
请注意,下一个版本 (ORT 1.10) 将需要显式设置 providers 参数,如果您想在使用 InferenceSession 实例化时使用除默认 CPU 提供程序之外的执行提供程序。
您可以在此处查看 python 脚本,以在 CPU 或 MIGraphX 执行提供程序上运行模型。
配置选项
MIGraphX 提供了一个环境变量 ORT_MIGRAPHX_FP16_ENABLE 来启用 FP16 模式。
示例
Python
import onnxruntime as ort
model_path = '<path to model>'
providers = [
'MIGraphXExecutionProvider',
'CPUExecutionProvider',
]
session = ort.InferenceSession(model_path, providers=providers)