菜单

沣大哈
沣大哈
发布于 2026-07-27 / 0 阅读
0
0

musa-mtt-s80-完整手册

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架构显存市场状态
S700202mp_21 (qy1)7 GB已发布,入门级
S80ES0200mp_21 (qy1)16 GB工程样品,不零售
S800201mp_21 (qy1)16 GB✅ 已发布 ← 本文主角
S20000123数据中心/服务器
S30000222mp_21 (qy1)服务器版
S3000E0225mp_21 (qy1)服务器增强版
S40000323/0327mp_22 (qy2)新一代旗舰
S900301mp_22 (qy2)24 GB🔮 未发布
X300mp_21 (qy1)未明确

1.2 各组件对不同架构的支持

组件支持的 GPU架构要求
torch_musaS70, S80, S90, S3000, S4000, X300, S80ES全部
ollamaS80, X300, S80ESmp_21 (qy1)
vllm_musaS4000, S90mp_22 (qy2)
vllm_mttS4000, S90mp_22 (qy2)
kuaeS4000, S90mp_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.6mthreads-gmi 可正常输出 GPU 信息
mt-container-toolkitDocker 的 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:7b4.7 GB~5.1 GB7.8 t/s✅ GPU 加速
deepseek-r1:1.5b1.1 GB~1.5 GB
qwen2.5:1.5b986 MB~1.5 GB
gemma2:9b5.4 GB❌ segfault
deepseek-r1:14b9.0 GB❌ segfault
qwen2.5:14b9.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 及以上模型时报 EOFexit 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 crasheglGetDisplay() 失败 → glamor 初始化 crash → SIGABRT重命名为 .bak,退到 modesetting 驱动
Wayland 不兼容GDM 启动 Wayland session 后立即 closed/etc/gdm3/custom.confWaylandEnable=false

2.3 其他组件不可部署的原因

组件状态原因
vllm_musa / vllm_mttmusa-deploy 硬编码限制 VLLM_SUPPORTED_GPUS = ["S4000", "S90"];S80 的 mp_21 架构不兼容 vllm 的 mp_22 CUDA kernel
torch_musaoss.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_musaDNS 不通,无法下载
vllm_musa / vllm_mtt仅 S4000/S90
container_toolkit2.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 MiB5203 MiB / 16384 MiB5203 MiB / 16384 MiB
GPU 温度51°C51°C52°C
总耗时4.06s9.03s14.19s
Prompt tokens4917
生成 tokens3167109
推理耗时3.45s7.81s12.86s
推理速度8.99 t/s8.58 t/s8.48 t/s

平均推理速度: 8.7 t/s

3.2 CPU vs GPU 对比

指标Q1 CPUQ1 GPUQ2 CPUQ2 GPUQ3 CPUQ3 GPU
生成 tokens173137567231109
推理耗时3.4s3.5s78.1s7.8s47.5s12.9s
推理速度5.0 t/s8.99 t/s4.8 t/s8.58 t/s4.9 t/s8.48 t/s
GPU 利用率0%30%0%33%0%43%
显存占用44 MiB5203 MiB44 MiB5203 MiB44 MiB5203 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 驱动暂不支持功耗读取

第四部分:推荐后续动作

  1. 短期可用: Ollama + deepseek-r1:7b(8.7 t/s,日常够用)
  2. 等 MTT 更新: Ollama 修复 >9B 模型的 segfault
  3. kernel 降级: 若需 sGPU 功能,可降 kernel 到 6.5 以下来编译 sgpu_dkms

评论