跳到主要内容

环境准备与部署

注意

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

Step0 确认环境

确认操作系统版本

仅支持AIOS 1.3.0,查看当前操作系统版本的方法:

  • 方法一: 查看设置 -> 关于 -> 操作系统系统名称

  • 方法二: 命令行可执行 sudo dmidecode -t0

    • 有输出且 version = 1.3.0 则正常

    dmidecode 输出示例

    • 若输出 # No SMBIOS nor DMI entry point found, sorry.,请先和设备提供方确认设备是否是 AIOS 1.3.0。如果确认系统是 AIOS 1.3.0,建议重装musa (驱动) 和 musa-sdk (软件栈),重装方法为依次执行3.2-3.7章节内容

确认 musa 环境

执行 musaInfo,输出正常则环境配置正确。

musaInfo 输出示例

如果报错未找到命令,执行:

export PATH=/usr/local/musa-4.1.2/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/musa-4.1.2/lib:${LD_LIBRARY_PATH}
# 再次执行 musaInfo,确认输出是否正常
musaInfo

Step1 更新驱动

1. 安装包下载和解压

wget -c https://mt-ai-data.tos-cn-shanghai.volces.com/vllm_musa/v1.2/release_1.3.0/20251011/musa+m1000_release_1.3.0_20250623.tar.gz
tar zxvf musa+m1000_release_1.3.0_20250623.tar.gz
cd musa+m1000_release_1.3.0_20250623

2. 安装脚本

##################### 首先卸载当前驱动 ######################
sudo dpkg -P musa-sdk
sudo dpkg -P musa # 输出 cryptsetup 的一些报错是正常的
sudo rm -rf /usr/local/musa*

##################### 安装新的驱动 ######################
sudo dpkg -i musa_3.1.0-AB100_arm64.deb
sudo dpkg -i musa-sdk_4.1.2_arm64.deb
tar zxvf mccl_M1000.tar.gz
cd mccl
sudo bash install.sh
cd ..

##################### 重启电脑 ######################
sudo reboot

3. 输出说明

提示

输出 firmware 相关的报错是正常的,可以忽略。

卸载和安装过程中可能会看到一些警告信息,如 cryptsetup: ERROR: Couldn't resolve device /dev/root 等,这些是正常的,可以忽略。

安装完成后,系统会提示需要重启:

****************************************************************************
* WARNING: The system needs to be restarted for MUSA driver! *
****************************************************************************

请按照提示重启系统。

Step2 下载安装包

wget -c https://mt-ai-data.tos-cn-shanghai.volces.com/vllm_musa/v1.2/release_1.3.0/20251011/release_1.3.0+vllm_musa+m1000_v1.2+torch2.1.0.tar.gz
tar zxvf release_1.3.0+vllm_musa+m1000_v1.2+torch2.1.0.tar.gz
cd release_1.3.0+vllm_musa+m1000_v1.2+torch2.1.0

文件 md5 校验

md5sum *

预期输出:

9a7802cbf14e8d4f1ebf2f080e215df2 flash_attn-2.6.3-py3-none-any.whl
610d48908ff6c3fc2b993685dc807090 Miniforge3-Linux-aarch64.sh
1e309a469b575dede404f62c3f2e6650 requirements.txt
c04a1f0a0f4a353d72195d0e95c9791b torch-2.5.0-cp310-cp310-linux_aarch64.whl
6a5f76a069bcad5e0dc65fecda584c95 torchaudio-2.5.0a0+56bc006-cp310-cp310-linux_aarch64.whl
94991d05369355a4dbe5bc2042c41b7e torch_musa-2.1.0-cp310-cp310-linux_aarch64.whl
433fa8f65efa539b066a8c5916cec712 torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl
4fb250a03ed766e38e01422d0d248df7 triton-3.1.0-cp310-cp310-linux_aarch64.whl
eb97032084fad364a6ad19891b973f85 vllm-0.9.2.dev251+g164a182f8.d20251011-cp310-cp310-linux_aarch64.whl
447214aa01406f92beec244899a64098 vllm_musa-1.2-cp310-cp310-linux_aarch64.whl

【可选】新建 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 的环境
conda create -n v1.2 python=3.10
conda activate v1.2

Step3 安装 torch musa

安装脚本

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

pip3 install torch-2.5.0-cp310-cp310-linux_aarch64.whl
pip3 install torch_musa-2.1.0-cp310-cp310-linux_aarch64.whl
pip3 install torchaudio-2.5.0a0+56bc006-cp310-cp310-linux_aarch64.whl
pip3 install torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl

环境验证

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

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,重装后直接执行这一步。流程参考 Step1 章节
  • 如果报错 MUSA driver initialization failed,设备需要连接显示器,输入用户名密码进入桌面。如果没有安全需求,推荐在"设置"->"用户"界面设置为自动登录

Step4 安装相关依赖

安装脚本

sudo apt update
sudo apt install python3-pip git cmake wget build-essential g++ libstdc++-12-dev libnuma-dev
pip3 install -r requirements.txt
pip3 install triton-3.1.0-cp310-cp310-linux_aarch64.whl flash_attn-2.6.3-py3-none-any.whl

Step5 安装 vllm musa

安装脚本

pip3 install vllm-0.9.2.dev251+g164a182f8.d20251011-cp310-cp310-linux_aarch64.whl
pip3 install vllm_musa-1.2-cp310-cp310-linux_aarch64.whl

环境验证

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

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

正常输出如下:

Error in cpuinfo: prctl(PR_SVE_GET_VL) failed
loading torch_musa into torch.musa...
提示

如果 NumPy 报错,如 Failed to initialize NumPy 或者 numpy ModuleNotFoundError: No module named 'numpy',执行 pip3 install numpy==1.26.4

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

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