跳到主要内容

环境准备

ONNX Runtime-MUSA 以容器方式部署,宿主机只需安装 GPU 驱动、管理库与容器运行时,MUSA SDK、Python 与 C++ 运行库均由镜像提供。

宿主机环境准备​

项目要求
硬件及驱动参考 版本发布信息 中各镜像支持的硬件架构与驱动版本。
mtml2.2.0
mt-container-toolkit2.2.0

Step1 确认 GPU 与驱动​

mthreads-gmi

注意:能够列出 GPU 设备、且 Driver Version 为正确的驱动版本即表示驱动就绪。该命令报错或找不到设备时,请先完成 MUSA 驱动的安装,不要继续后续步骤。

Step2 确认容器运行时​

docker info | grep -i runtimes

预期输出中包含 mthreads:

Runtimes: runc io.containerd.runc.v2 mthreads mthreads-experimental

注意:Runtimes 一行的其余条目随环境不同,只需确认含 mthreads。不含时请先安装 mt-container-toolkit,否则容器内无法访问 GPU。

启动容器​

Step1 拉取镜像​

# 示例1:针对 S5000,3.3.8 驱动版本,视觉/语音/文本编码类模型。
docker pull registry.mthreads.com/mcconline/inference/onnxruntime:1.23.0-ep0.27.7-amd64-ph1-musa4.3.8
# 示例2:针对 S5000,5.1.0 驱动版本,搜索推荐类模型。
docker pull registry.mthreads.com/mcconline/inference/onnxruntime:1.26.0-plugin0.1.0-amd64-ph1-musa5.1.0

注意:镜像体积较大,首次拉取耗时较长。

Step2 启动容器​

以下示例使用单个 GPU(设备编号为0),容器以后台方式运行。

docker run -d \
-e MTHREADS_VISIBLE_DEVICES=0 \
--network host \
--name ort-service \
[DOCKER_IMAGE_ADDRESS] \
sleep infinity

注意:MTHREADS_VISIBLE_DEVICES 可通过设备编号或者 UUID 指定1到多个 GPU,也可设为 all 使用全部 GPU,具体信息参考 MT Container Toolkit 使用指南。该变量进入容器后修改无效,可在宿主机上用 mthreads-gmi 查看各卡占用情况,选择空闲卡。

Step3 进入容器环境​

在宿主机上执行命令进入容器环境,示例如下。然后参考 快速开始 进行测试。

docker exec -it ort-service bash