跳到主要内容

环境准备

注意

本文档适用于摩尔线程 MTT M1000(aarch64)设备。开始前请确认设备已安装 MUSA SDK 5.1.x/5.2.x,并且 mcc、muDNN 和 MUSA runtime 可用。

MUSA SDK、驱动和系统组件的安装不在本文展开,请按摩尔线程官方文档完成;本文只做环境自检。

环境要求​

项目要求
GPU摩尔线程 MTT M1000
架构aarch64
操作系统Ubuntu 22.04
MUSA SDK5.1.x/5.2.x,包含 driver/runtime、mcc 和 muDNN
Python3.10.x
PyTorch / Torch-MUSA / TorchVision构建示例时需要,在 venv 中安装 Moore Threads 发布的 aarch64 包
磁盘建议预留 4 GB 以上(包含 PyTorch、Ultralytics 和模型文件)
权限普通用户即可;建议安装到独立 venv

Step1 确认 GPU 与驱动​

mthreads-smi

能正常输出 GPU 信息即表示驱动就绪。若需要确认设备型号,使用 MUSA SDK 自带的 musaInfo:

/usr/local/musa/bin/musaInfo

musaInfo 输出中应包含 Name: M1000,并可同时查看 Driver Version 和 Runtime Version。若两条命令都无法识别设备,请先完成 MUSA 驱动安装,不要继续后续步骤。

Step2 确认 MUSA SDK 版本​

readlink /usr/local/musa
grep -m1 -A2 musa_toolkits /usr/local/musa/version.json

预期输出:

musa-5.2.0
"musa_toolkits": {
"version": "5.2.0",

version.json 中的 musa_toolkits.version 是 toolkit 版本的权威来源。dpkg -l | grep musa 显示的是 BSP 元包版本,不能用来判断 toolkit 版本。

Step3 确认 mcc 与 MUSA runtime​

command -v mcc
ls -l /usr/local/musa/lib/libmusart.so*

预期 mcc 位于 /usr/local/musa/bin 下,且输出中包含 libmusart.so.5。如果 mcc 不在 PATH 中:

export PATH=/usr/local/musa/bin:$PATH

Step4 确认运行时库路径​

printf 'LD_LIBRARY_PATH=%s\n' "$LD_LIBRARY_PATH"

输出中应包含 /usr/local/musa/lib。交互式登录 shell 通常已自动设置;通过脚本、cron 或非交互式 SSH 运行时可能为空,需要在程序启动前显式导出:

export LD_LIBRARY_PATH=/usr/local/musa/lib:${LD_LIBRARY_PATH:-}

TVM 运行时会加载 muDNN 的动态库。缺少该路径时,常见报错是 libmudnn.so.3: cannot open shared object file。

Step5 确认 Python 与 venv​

python3 --version
python3 -m pip --version
python3 -m venv /tmp/_tvm_musa_venv
/tmp/_tvm_musa_venv/bin/python -V

预期 Python 版本为 3.10.x。如果系统默认 python3 不是 3.10,请改用 python3.10 创建 venv。venv 不可用时,需要先安装 python3.10-venv(需要 root 或 sudo 权限)。

示例构建所需的 torch、torch_musa 和 torchvision 也安装在这个 venv 中,并使用 Moore Threads 发布的版本,不要用 upstream PyTorch 替换。

建议的环境变量​

为避免每次登录重新设置,可将以下内容加入 ~/.bashrc:

export MUSA_HOME=/usr/local/musa
export PATH="$MUSA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$MUSA_HOME/lib:${LD_LIBRARY_PATH:-}"

环境自检通过后,继续安装与验证。