跳到主要内容

安装与验证

本章从 TVM-MUSA M1000 发布包安装 tvm 与 tvm-ffi。发布包已经包含匹配的 wheel 和相关构建、推理脚本,用户不需要从源码编译 TVM。

Step1 下载并解压发布包​

从产品下载页面 下载 tvm-musa-m1000-release.tar.gz,放到任意工作目录后解压。

tar xzf tvm-musa-m1000-release.tar.gz
cd tvm-musa-m1000

发布包目录结构如下:

tvm-musa-m1000/
├── wheels/
│ ├── apache_tvm_ffi-<version>-cp310-cp310-linux_aarch64.whl
│ └── tvm_musa-<version>-py3-none-linux_aarch64.whl
├── examples/
│ ├── build.py
│ ├── inference.py
│ └── assets/
│ └── bus.jpg
└── SHA256SUMS

tvm-ffi 的 wheel 是 cp310 包,必须使用 Python 3.10;tvm_musa 的 wheel 是 py3-none,但仍依赖匹配的 tvm-ffi。

校验发布包完整性:

sha256sum -c SHA256SUMS

输出中的每个文件都应为 OK。若校验失败,请重新下载发布包。

Step2 创建独立 Python 环境​

python3.10 -m venv ~/tvm-musa-env
source ~/tvm-musa-env/bin/activate
python -m pip install --upgrade pip

如果当前环境里已有旧版本,先卸载:

python -m pip uninstall -y tvm apache-tvm tvm-musa apache-tvm-ffi

示例构建所需的 torch、torch_musa 和 torchvision 也安装在这个 venv 中,并使用 Moore Threads 发布的版本。安装与验证步骤见快速开始。

Step3 安装 wheel​

同时安装发布包内的两个 wheel:

python -m pip install ./wheels/apache_tvm_ffi-*.whl ./wheels/tvm_musa-*.whl

Step4 验证安装​

从 /tmp 目录执行,避免当前目录中的同名文件影响导入:

cd /tmp
python - <<'PY'
import tvm
import tvm_ffi

print("tvm :", tvm.__version__)
print("tvm_ffi :", tvm_ffi.__version__)
print("loaded :", tvm.__file__)
info = tvm.support.libinfo()
print("upstream :", info["TVM_MUSA_UPSTREAM_BASE"])
print("use_musa :", info["USE_MUSA"])
PY

预期输出中:

  • loaded 指向当前 venv 的 site-packages/tvm/__init__.py;
  • upstream 为 v0.26.dev0 (b172d5ea32);
  • use_musa 为 ON。

如果 loaded 指向其他目录,说明环境里还有另一份 TVM,请回到 Step2 清理环境。

继续验证 MUSA device:

python - <<'PY'
import tvm

dev = tvm.musa(0)
print("device:", dev)
print("exists:", dev.exist)
PY

预期输出:

device: musa:0
exists: True

exists: True 表示 MUSA runtime 已加载并识别到设备。若为 False 或报错,请先检查环境准备中的驱动、mcc 和 LD_LIBRARY_PATH。

安装验证通过后,继续快速开始。