MTT S80在Linux上部署deepseek-r1:7b
环境: MTT S80 (16GB VRAM, mp_21 架构, qy1) · MUSA 2.7.1-rc3-0822
系统: Ubuntu 22.04.5 LTS, Kernel 6.8.0-134-generic
工具: musa-deploy 0.7.0
日期: 2026-07-24
第一部分:GPU 型号与架构概览
数据来源:
musa-deploy 0.7.0源码 (utils.py,demo.py)
1.1 型号一览
| 型号 | 设备 ID | 架构 | 显存 | 市场状态 |
|---|---|---|---|---|
| S70 | 0202 | mp_21 (qy1) | 7 GB | 已发布,入门级 |
| S80ES | 0200 | mp_21 (qy1) | 16 GB | 工程样品,不零售 |
| S80 | 0201 | mp_21 (qy1) | 16 GB | ✅ 已发布 ← 本文主角 |
| S2000 | 0123 | — | — | 数据中心/服务器 |
| S3000 | 0222 | mp_21 (qy1) | — | 服务器版 |
| S3000E | 0225 | mp_21 (qy1) | — | 服务器增强版 |
| S4000 | 0323/0327 | mp_22 (qy2) | — | 新一代旗舰 |
| S90 | 0301 | mp_22 (qy2) | 24 GB | 🔮 未发布 |
| X300 | — | mp_21 (qy1) | — | 未明确 |
1.2 各组件对不同架构的支持
| 组件 | 支持的 GPU | 架构要求 |
|---|---|---|
| torch_musa | S70, S80, S90, S3000, S4000, X300, S80ES | 全部 |
| ollama | S80, X300, S80ES | mp_21 (qy1) |
| vllm_musa | S4000, S90 | mp_22 (qy2) |
| vllm_mtt | S4000, S90 | mp_22 (qy2) |
| kuae | S4000, S90 | mp_22 (qy2) |
关键源码:
VLLM_SUPPORTED_GPUS = ["S4000", "S90"]
OLLAMA_SUPPORT_GPUS = ["S80", "X300", "S80ES"]
1.3 架构演进
mp_21 (qy1, 春晓) mp_22 (qy2, 曲院) mp_31 (ph1, ?)
├── S70 ├── S90 (未发布) └── 下一代
├── S80 └── S4000
├── S80ES
├── S3000
└── S3000E
- mp_21 / qy1: 春晓架构,S80 属于这代。Ollama 和 torch_musa 支持良好
- mp_22 / qy2: 曲院架构,S4000/S90。vllm、kuae 只支持这代
- mp_31 / ph1: 下一代架构,代码中仅预留
1.4 关于 S90
S90 在 musa-deploy 0.7.0 代码中已预留(设备 ID 0301,24GB 显存,mp_22),但市面上没有任何产品页面或评测——大概率是规划中/未发布产品。类似 NVIDIA xx90 定位的高端消费版。
第二部分:部署指南
2.1 Ollama 部署(成功 ✅)
步骤
# 1. 拉取 MTT 专用 Ollama 镜像
sudo docker pull registry.mthreads.com/public/mt-ai/mthreads-ollama:latest-qy1-rc3.1.1-2
# 2. 启动容器(GPU 透传 + 端口暴露)
sudo docker run -d \
--runtime=mthreads \
-e MTHREADS_VISIBLE_DEVICES=all \
--name ollama \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
--restart unless-stopped \
registry.mthreads.com/public/mt-ai/mthreads-ollama:latest-qy1-rc3.1.1-2 \
serve
# 3. 拉取模型(推荐 7B)
docker exec ollama ollama pull deepseek-r1:7b
docker exec ollama ollama pull qwen2.5:7b
# 4. 测试推理
docker exec ollama ollama run deepseek-r1:7b "你好"
前置条件
| 条件 | 说明 |
|---|---|
| MUSA 驱动 ≥ 2.6 | mthreads-gmi 可正常输出 GPU 信息 |
| mt-container-toolkit | Docker 的 MTT GPU runtime,版本 2.0.0-1 |
| Docker 已配置 mthreads runtime | /etc/docker/daemon.json 中注册 mthreads 为默认 runtime |
Docker daemon.json 配置示例:
{
"default-runtime": "mthreads",
"runtimes": {
"mthreads": {
"args": [],
"path": "/usr/bin/musa/mthreads-container-runtime"
}
},
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
⚠️ MTT 容器不能用
--gpus all(那是 NVIDIA 的),必须用--runtime=mthreads -e MTHREADS_VISIBLE_DEVICES=all。
可用模型与性能
| 模型 | 大小 | 显存占用 | 推理速度 | 状态 |
|---|---|---|---|---|
| deepseek-r1:7b | 4.7 GB | ~5.1 GB | 7.8 t/s | ✅ GPU 加速 |
| deepseek-r1:1.5b | 1.1 GB | ~1.5 GB | 快 | ✅ |
| qwen2.5:1.5b | 986 MB | ~1.5 GB | 快 | ✅ |
| gemma2:9b | 5.4 GB | — | — | ❌ segfault |
| deepseek-r1:14b | 9.0 GB | — | — | ❌ segfault |
| qwen2.5:14b | 9.0 GB | — | — | ❌ segfault |
7.8 t/s, GPU 温度 48°C, 推理时 GPU 利用率确认在工作(非 CPU 推理)。
本地 API 调用
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:7b",
"prompt": "你的问题",
"stream": false
}'
Firefox 插件推荐:Page Assist,可直连 localhost:11434。
2.2 常见问题与解决
Docker 拉镜像超时
现象: dial tcp: i/o timeout / TLS handshake timeout
原因: Docker Hub 在国内访问受限
解决: 在 /etc/docker/daemon.json 添加国内镜像后 sudo systemctl restart docker:
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
EUC-KR 无效字节序列
现象: 解压 MTT 工具包时文件名乱码
解决: 忽略乱码,直接用 .deb 安装即可,不影响功能。
Docker 权限拒绝
sudo usermod -aG docker $USER # 需重新登录生效
容器名冲突
sudo docker rm -f ollama
模型推理 crash (EOF / segfault)
现象: 运行 9B 及以上模型时报 EOF 或 exit status 2
原因: MTT 版 Ollama 的 llama.cpp runner 对大模型有兼容性 bug,不是显存不足(16GB 足够)
解决: 使用 ≤7B 模型;等待 MTT 更新 Ollama 版本
GUI 黑屏修复记录
| Bug | 现象 | 修复 |
|---|---|---|
/usr/bin/Xorg 无限循环 | Xorg 进程 100% CPU,不写日志 | 修复 wrapper 脚本 fallback 指向 /usr/lib/xorg/Xorg |
mtgpu_drv.so crash | eglGetDisplay() 失败 → glamor 初始化 crash → SIGABRT | 重命名为 .bak,退到 modesetting 驱动 |
| Wayland 不兼容 | GDM 启动 Wayland session 后立即 closed | /etc/gdm3/custom.conf 中 WaylandEnable=false |
2.3 其他组件不可部署的原因
| 组件 | 状态 | 原因 |
|---|---|---|
| vllm_musa / vllm_mtt | ❌ | musa-deploy 硬编码限制 VLLM_SUPPORTED_GPUS = ["S4000", "S90"];S80 的 mp_21 架构不兼容 vllm 的 mp_22 CUDA kernel |
| torch_musa | ❌ | oss.mthreads.com DNS 解析失败 (NXDOMAIN),所有 whl 包(v1.2.1~1.3.2)均托管在该域名 |
| sgpu_dkms | ⚠️ | 包已安装但 DKMS 编译失败:PDE_DATA() 宏在 kernel 6.6+ 被移除,与 kernel 6.8 不兼容。不影响基础 GPU 透传,仅影响 sGPU/vGPU 虚拟化 |
| MTLink | ❌ | 多卡互联技术(类似 NVLink),单卡 S80 不需要 |
| MUSAToolkits | ❌ | 需要 /usr/local/musa 目录手动安装,且依赖 torch_musa |
| kuae | ❌ | 检查 mp_22 架构,仅支持 S4000 |
2.4 组件兼容性速查
| 组件 | S80 支持 | 可部署 | 备注 |
|---|---|---|---|
| ollama | ✅ | ✅ | ≤7B 模型正常 |
| torch_musa | ❓ | ❌ | DNS 不通,无法下载 |
| vllm_musa / vllm_mtt | ❌ | ❌ | 仅 S4000/S90 |
| container_toolkit | ✅ | ✅ | 2.0.0-1 |
| sgpu_dkms | ⚠️ | ⚠️ | 编译失败 (kernel 6.8) |
| kuae | ❌ | ❌ | 仅 S4000 |
| MUSAToolkits | ❓ | ❌ | 未安装 |
第三部分:DeepSeek-R1:7B 性能测试
模型: deepseek-r1:7b (Q4_K_M 量化, 4.7GB)
CPU: Intel Xeon E5-2698B v3 @ 2.00GHz (16核, Haswell-EP, AVX2)
3.1 GPU 推理性能
| 指标 | Q1: "你好" | Q2: "你觉得英伟达怎么样?" | Q3: "你了解1080显卡吗?" |
|---|---|---|---|
| GPU 利用率 | 30% | 33% | 43% |
| 显存占用 | 5203 MiB / 16384 MiB | 5203 MiB / 16384 MiB | 5203 MiB / 16384 MiB |
| GPU 温度 | 51°C | 51°C | 52°C |
| 总耗时 | 4.06s | 9.03s | 14.19s |
| Prompt tokens | 4 | 9 | 17 |
| 生成 tokens | 31 | 67 | 109 |
| 推理耗时 | 3.45s | 7.81s | 12.86s |
| 推理速度 | 8.99 t/s | 8.58 t/s | 8.48 t/s |
平均推理速度: 8.7 t/s
3.2 CPU vs GPU 对比
| 指标 | Q1 CPU | Q1 GPU | Q2 CPU | Q2 GPU | Q3 CPU | Q3 GPU |
|---|---|---|---|---|---|---|
| 生成 tokens | 17 | 31 | 375 | 67 | 231 | 109 |
| 推理耗时 | 3.4s | 3.5s | 78.1s | 7.8s | 47.5s | 12.9s |
| 推理速度 | 5.0 t/s | 8.99 t/s | 4.8 t/s | 8.58 t/s | 4.9 t/s | 8.48 t/s |
| GPU 利用率 | 0% | 30% | 0% | 33% | 0% | 43% |
| 显存占用 | 44 MiB | 5203 MiB | 44 MiB | 5203 MiB | 44 MiB | 5203 MiB |
⚠️ token 数量 CPU/GPU 不一致是因为 deepseek-r1 的 think 链长度每次随机,不影响 t/s 对比。
速度汇总
Q1 Q2 Q3
CPU: 5.0 t/s 4.8 t/s 4.9 t/s → 平均 4.9 t/s
GPU: 8.99 t/s 8.58 t/s 8.48 t/s → 平均 8.7 t/s
GPU 加速比: ~1.8x
显存占用明细
GPU 模式: 5203 MiB / 16384 MiB = 31.7% 占用 → 剩余 ~11.2 GB
CPU 模式: 44 MiB(仅 runtime)
16GB 显存跑 Q4 量化的 7B 模型绰绰有余,8B/9B 模型理论上也够(当前 Ollama 版本有 bug 导致崩溃)。
3.3 结论
- GPU 推理速度是 CPU 的 1.8 倍,在国产 GPU 上合理
- CPU 4.9 t/s 对 Haswell 架构 + 7B 模型来说正常(无 AVX-512)
- GPU 利用率 30-43%,温度 46~52°C,散热良好
- 显存使用率仅 31.7%,余量充足
- MTT 驱动暂不支持功耗读取
第四部分:推荐后续动作
- 短期可用: Ollama + deepseek-r1:7b(8.7 t/s,日常够用)
- 等 MTT 更新: Ollama 修复 >9B 模型的 segfault
- kernel 降级: 若需 sGPU 功能,可降 kernel 到 6.5 以下来编译 sgpu_dkms