跳到主要内容

环境准备与部署

注意

注意:本指南目前只适用于 M1000 AIModule 环境,需要 AIOS 1.4.1 操作系统。

Step1 确认环境

确认操作系统版本

仅支持 AIOS 1.4.1,请先和设备提供方确认设备是否为 AIOS 1.4.1。 可在设置-关于-操作系统名称查看AIOS版本

Step2 下载并解压离线安装包

wget -c https://mt-ai-data.tos-cn-shanghai.volces.com/vllm_musa/v1.4.2/release_M1000_1.4.0/0522ddk_0430sdk_mcc410/20260618_M1000_1.4.0_ddk0522_0430sdk_mcc410-vllm_musa_1.4.2-torch_2.9.tar.gz
tar -zxvf 20260618_M1000_1.4.0_ddk0522_0430sdk_mcc410-vllm_musa_1.4.2-torch_2.9.tar.gz
cd 20260618_M1000_1.4.0_ddk0522_0430sdk_mcc410-vllm_musa_1.4.2-torch_2.9

解压后目录中应包含以下文件:

文件用途
musa_5.1.1-M1000_arm64.debMUSA 驱动安装包
musa-sdk_5.1.1_arm64.debMUSA SDK 安装包
torch-2.9.0-cp310-cp310-linux_aarch64.whlPyTorch 安装包
torch_musa-2.9.0-cp310-cp310-linux_aarch64.whltorch_musa 安装包
torchaudio-2.9.0+eaa9e4e-cp310-cp310-linux_aarch64.whltorchaudio 安装包
torchvision-0.22.1+e98278b-cp310-cp310-linux_aarch64.whltorchvision 安装包
triton-3.2.0-cp310-cp310-linux_aarch64.whlTriton 安装包
vllm-0.16.0-py3-none-any.whlvLLM 安装包
vllm_musa-1.4.2+m1000-cp310-cp310-linux_aarch64.whlvLLM MUSA 插件安装包
requirements.txtPython 依赖约束
Miniforge3-Linux-aarch64.shMiniforge 安装脚本
enable_compute_only.shcompute_only 模式切换脚本

文件 md5 校验

md5sum *

预期输出:

610d48908ff6c3fc2b993685dc807090 Miniforge3-Linux-aarch64.sh
2fc22e445d5fdfbfcff1d42b40b41aa1 enable_compute_only.sh
c5b83db11b8cc04b5bb40d992a84633b musa-sdk_5.1.1_arm64.deb
c83b9f2f58ba03d959f86ea3acf363b5 musa_5.1.1-M1000_arm64.deb
9566de4132984ec3d14b3912ac54359c requirements.txt
e15563904f9586d89f66a987215e41a6 torch-2.9.0-cp310-cp310-linux_aarch64.whl
acec6fa02cdb5f4bac25b67ae747ebd6 torch_musa-2.9.0-cp310-cp310-linux_aarch64.whl
96fec876b2b16f0f3be65a796be7947e torchaudio-2.9.0+eaa9e4e-cp310-cp310-linux_aarch64.whl
100fa60844c58acc20de064613bfaba4 torchvision-0.22.1+e98278b-cp310-cp310-linux_aarch64.whl
391443022d00d4d56af157e13b0bb0fc triton-3.2.0-cp310-cp310-linux_aarch64.whl
1e62347afd4e6d2c735369afbcb85ab7 vllm-0.16.0-py3-none-any.whl
cb27831c2fce50dda90c4cbd7779f261 vllm_musa-1.4.2+m1000-cp310-cp310-linux_aarch64.whl

step3 新建 conda 环境(推荐)

# 下载 Miniforge3 (默认带 Python 3.10) for Linux-aarch64
chmod +x Miniforge3-Linux-aarch64.sh

./Miniforge3-Linux-aarch64.sh
# 安装过程中需要输入 yes, 并回车确认安装路径,默认安装路径在 /home/$User 下

source ~/.bashrc

# 创建一个 python 3.10 的环境,安装过程中需要输入 y,并回车确认
conda create -n v1.4.2 python=3.10
conda activate v1.4.2
说明

如果是AIbook和AI助手打通不要配置conda环境(这样AI service才能自动拉起)

Step4 安装 torch_musa

安装脚本

# 加代理提高 pip install 速度,当前环境执行一次即可
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

pip3 install torch-2.9.0-cp310-cp310-linux_aarch64.whl
pip3 install torch_musa-2.9.0-cp310-cp310-linux_aarch64.whl
pip3 install torchaudio-2.9.0+eaa9e4e-cp310-cp310-linux_aarch64.whl
pip3 install torchvision-0.22.1+e98278b-cp310-cp310-linux_aarch64.whl

环境验证

输出 true 证明 torch_musa 环境安装正确:

pip3 install numpy==1.26.4
python3 -c "import torch;import torch_musa;print(torch.musa.is_available())"
说明
  • 输出 mudnn.so 找不到,执行:
    export PATH=/usr/local/musa/bin:${PATH}
    export LD_LIBRARY_PATH=/usr/local/musa/lib:${LD_LIBRARY_PATH}
  • 输出 Error in cpuinfo: prctl(PR_SVE_GET_VL) failed 正常
  • 如果 NumPy 报错,如 Failed to initialize NumPy 或者 numpy ModuleNotFoundError: No module named 'numpy',执行 pip3 install numpy==1.26.4
  • 如果报错 ImportError: libmccl.so.2: cannot open shared object file: No such file or directory,需要重装 mccl,重装后直接执行这一步。流程参考 Step3 章节
  • 如果报错 MUSA driver initialization failed,设备需要连接显示器,输入用户名密码进入桌面。如果没有安全需求,推荐在"设置"->"用户"界面设置为自动登录

Step5 安装相关依赖

安装脚本

# 安装过程中需要输入 y,并回车确认
sudo apt update
sudo apt install python3-pip git cmake wget build-essential g++ libstdc++-12-dev libnuma-dev
pip3 install triton-3.2.0-cp310-cp310-linux_aarch64.whl

Step6 安装 vLLM MUSA

安装脚本

pip3 install vllm-0.16.0-py3-none-any.whl
pip3 install vllm_musa-1.4.2+m1000-cp310-cp310-linux_aarch64.whl
# requirements.txt 最后安装,用于补齐发布包依赖
pip3 install -r requirements.txt
提示
  • 安装 vllm_musa 时如果出现以下依赖冲突,不影响后续模型推理。
pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
opencv-python-headless 4.13.0.92 requires numpy>=2; python_version >= "3.9", but you have numpy 1.26.4 which is incompatible.
  • requirements.txt 指定 transformers==5.3.0,可忽略以下报错。
ERROR: vllm 0.16.0 requires transformers<5,>=4.56.0, but you have transformers 5.3.0 which is incompatible.

环境验证

没有报错证明 vLLM MUSA 环境安装正确:

cd /home && python3 -c "from vllm_musa import _musa_custom_ops;_musa_custom_ops.decode_mla"

仅输出以下 cpuinfo 提示也属于正常情况:

Error in cpuinfo: prctl(PR_SVE_GET_VL) failed

【可选】打开性能模式(推荐)

For T035 开发板

From 界面 (推荐)

界面右上角: 电源 -> 性能

From 命令行

首先执行 sudo su 进入 sudo 模式

模式指令
High Performance(性能模式)echo 1 > /sys/devices/system/cpu/cpu8/online
echo 1 > /sys/devices/system/cpu/cpu9/online
echo 1 > /sys/devices/system/cpu/cpu10/online
echo 1 > /sys/devices/system/cpu/cpu11/online
echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy8/scaling_governor
echo perf > /sys/kernel/debug/musa/gpu00/dvfs_mode
echo performance > /sys/class/thermal/thermal_zone6/perf_mode
Balance Mode(平衡模式)echo 1 > /sys/devices/system/cpu/cpu8/online
echo 1 > /sys/devices/system/cpu/cpu9/online
echo 1 > /sys/devices/system/cpu/cpu10/online
echo 1 > /sys/devices/system/cpu/cpu11/online
echo ondemand > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpufreq/policy8/scaling_governor
echo normal > /sys/kernel/debug/musa/gpu00/dvfs_mode
echo balance > /sys/class/thermal/thermal_zone6/perf_mode
Power Saving(节电模式)echo powersave > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo powersave > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor
echo powersave > /sys/devices/system/cpu/cpufreq/policy8/scaling_governor
echo normal > /sys/kernel/debug/musa/gpu00/dvfs_mode
echo powersave > /sys/class/thermal/thermal_zone6/perf_mode
echo 0 > /sys/devices/system/cpu/cpu8/online
echo 0 > /sys/devices/system/cpu/cpu9/online
echo 0 > /sys/devices/system/cpu/cpu10/online
echo 0 > /sys/devices/system/cpu/cpu11/online

For 天思盒子

From 界面 (推荐)

界面右上角: 电源 -> 性能

From 命令行

性能模式

#!/bin/sh
sudo busybox devmem 0x280FD200 32 2650
sudo busybox devmem 0x280FD218 32 2650
sudo busybox devmem 0x280FD230 32 2650
sudo busybox devmem 0x280FD248 32 1500

非性能模式

#!/bin/sh
sudo busybox devmem 0x280FD200 32 1700
sudo busybox devmem 0x280FD218 32 1700
sudo busybox devmem 0x280FD230 32 1700
sudo busybox devmem 0x280FD248 32 730

【可选】compute_only 模式

适用场景

  • 设备作为服务器使用,不需要本地图形桌面显示,切换为纯计算用途。
  • 需要避免 gdm3xorg 等图形进程占用设备,降低图形对性能的影响。

设置方法

开启 compute_only 前,请先确认 SSH、VS Code Remote、串口或其它远程登录方式可用。开启后本地显示器可能黑屏,后续需要通过远程方式操作设备。

在 Step2 的解压目录下执行:

chmod +x enable_compute_only.sh

开启

sudo ./enable_compute_only.sh enable

关闭

sudo ./enable_compute_only.sh disable

脚本执行后会自动重启,重启后可通过以下命令确认当前状态:

cat /sys/module/mtgpu/parameters/compute_only
提示
  • 输出 1 表示 compute_only 模式已开启。
  • 输出 0 表示 compute_only 模式已关闭。
  • 如果开启后需要恢复本地显示器输出,请远程登录设备后在 Step2 解压目录下执行 sudo ./enable_compute_only.sh disable,等待脚本自动重启;如脚本未自动重启,可手动执行 sudo reboot