龙蜥 8.9 部署大模型服务实战全流程:海光 DCU + vLLM
龙蜥 8.9 部署大模型服务实战全流程:海光 DCU + vLLM
在 龙蜥(Anolis OS)8.9 操作系统上,基于海光开发者社区提供的 vLLM Docker 镜像 部署大模型服务的完整流程,涵盖 DCU 驱动安装、Docker 环境搭建、镜像拉取、服务部署与调用验证。
目录
一、环境概览
| 项目 | 说明 |
|---|---|
| 操作系统 | 龙蜥(Anolis OS)8.9 |
| 加速硬件 | 海光 DCU(Hygon DCU) |
| 驱动版本 | rock-6.3.30+(对应 DTK 26.04) |
| 推理框架 | vLLM 0.11.0 |
| 运行环境 | Docker 容器(Ubuntu 22.04 + Python 3.11) |
💡 什么是 DCU? DCU(Deep Computing Unit)是海光推出的深度计算加速卡,其编程模型兼容 ROCm 生态,可通过 vLLM 等框架高效运行大模型推理任务。
二、DCU 驱动安装
1. 选择驱动版本
目前主流的 vLLM Docker 镜像基于 DTK 26.04 构建,因此需要下载对应的驱动 .run 文件。驱动版本与硬件、DTK 的兼容关系如下:
| 驱动版本 | 支持硬件 | 推荐 DTK 版本 |
|---|---|---|
| rock-6.3.8+ | BW1000 / K100-AI / K100 / Z100L / Z100 | 25.04 |
| rock-6.3.30+ | BW1100 / BW1000 / BW150 / BW100 / BW10 / K100-AI / K100 / Z100L / Z100 | 26.04 |


🔗 DCU 驱动下载地址:请前往海光开发者社区官方下载页获取对应
.run文件。
2. 安装依赖
根据操作系统选择对应的依赖安装命令:
# CentOS / Anolis(龙蜥)
yum install -y rpm-build gcc-c++ cmake automake elfutils-libelf-devel \
libdrm libdrm-devel pciutils
yum install -y kernel-devel-`uname -r` kernel-modules-extra-`uname -r`
# Ubuntu
apt install -y gcc g++ cmake automake libelf-dev \
libdrm_amdgpu1 libtinfo5 pciutils libdrm-dev
apt install -y linux-headers-`uname -r` linux-modules-extra-`uname -r`
⚠️
libdrm_amdgpu1在不同 Ubuntu 版本中包名可能为libdrm-amdgpu1,若安装失败可尝试替换。

3. 安装驱动
# 修改驱动安装包权限
chmod +x rock*.run
# 执行驱动安装
./rock*.run
安装过程中会提示更新 vbios,选择 是(Yes)。安装完成后重启驱动服务:
# 重启驱动服务
systemctl restart hymgr

4. 驱动验证
# 6.3.x 及其以上的驱动,检查内核模块
lsmod | grep -E "hydcu|hycu"
# 查看显卡信息
/opt/hyhal/bin/hy-smi
执行 /opt/hyhal/bin/hy-smi 后若能正常列出显卡信息,说明驱动安装成功。

三、Docker 环境搭建
1. 在线安装 Docker
# 安装依赖工具
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
# 添加阿里云 Docker CE 镜像源
sudo yum-config-manager --add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker 相关组件
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

2. 启动并设置开机自启
# 启动 Docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
四、获取 vLLM 镜像
前往光源 vLLM 镜像仓库,找到需要的 vLLM 版本,点击对应镜像右下角的 复制 按钮即可获得拉取命令,例如:
docker pull harbor.sourcefind.cn:5443/dcu/admin/base/vllm:0.11.0-ubuntu22.04-dtk26.04-py3.11
📌 镜像命名解析:
vllm:0.11.0表示 vLLM 版本,ubuntu22.04为容器基础系统,dtk26.04为对应的 DCU 工具包版本,py3.11为 Python 版本。

五、部署模型服务
1. 启动容器
docker run -d \
--name dcu-model-service \
--restart=unless-stopped \
--network=host \
--ipc=host \
--shm-size=16G \
--device=/dev/kfd \
--device=/dev/mkfd \
--device=/dev/dri \
-v /data/model/llm:/model \
-v /opt/hyhal:/opt/hyhal \
--group-add video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-e VLLM_LOGGING_LEVEL=INFO \
harbor.sourcefind.cn:5443/dcu/admin/base/vllm:0.11.0-ubuntu22.04-dtk26.04-py3.11 \
python -m vllm.entrypoints.openai.api_server \
--model /model \
--served-model-name test \
--host 0.0.0.0 \
--port 30000 \
--max-model-len 20000 \
--tensor-parallel-size 4 \
--gpu-memory-utilization 0.9 \
--trust-remote-code \
--dtype bfloat16
2. vLLM 服务参数说明
| 参数 | 值 | 说明 |
|---|---|---|
--model |
/model |
模型路径(容器内挂载路径) |
--served-model-name |
test |
API 中显示的模型名称 |
--host |
0.0.0.0 |
监听所有网络地址 |
--port |
30000 |
服务端口 |
--max-model-len |
20000 |
最大序列长度 |
--tensor-parallel-size |
4 |
张量并行度(对应 4 张 DCU) |
--gpu-memory-utilization |
0.9 |
GPU 显存利用率上限 |
--trust-remote-code |
— | 信任模型仓库中的远程代码 |
--dtype |
bfloat16 |
推理数据类型 |
3. Docker 运行参数说明
| 参数分类 | 参数 | 值 | 说明 |
|---|---|---|---|
| 基础 | -d |
— | 后台运行容器 |
--name |
dcu-model-service |
容器名称 | |
| 重启策略 | --restart |
unless-stopped |
异常崩溃自动重启,手动停止后不重启 |
| 网络 | --network |
host |
使用宿主机网络,无网络隔离 |
| 内存/IPC | --ipc |
host |
共享宿主机 IPC 命名空间 |
--shm-size |
16G |
共享内存大小 16GB | |
| 设备挂载 | --device |
/dev/kfd |
DCU 核心驱动设备 |
--device |
/dev/mkfd |
DCU 辅助设备文件 | |
--device |
/dev/dri |
DCU 显示/计算设备 | |
| 数据卷 | -v |
模型目录:/model |
挂载模型文件 |
-v |
/opt/hyhal:/opt/hyhal |
挂载 DCU 运行时库 | |
| 权限 | --group-add |
video |
加入 video 组以访问 DCU |
--cap-add |
SYS_PTRACE |
允许 ptrace 系统调用 | |
--security-opt |
seccomp=unconfined |
禁用 seccomp 限制 | |
| 环境变量 | -e |
VLLM_LOGGING_LEVEL=INFO |
设置日志级别 |
| 镜像 | — | harbor.sourcefind.cn:5443/dcu/admin/base/vllm:0.11.0-ubuntu22.04-dtk26.04-py3.11 |
vLLM DCU 镜像 |
4. 验证服务状态
# 查看容器是否正常运行
docker ps
# 查看启动日志,确认无报错
docker logs -f dcu-model-service
容器启动后,可通过 hy-smi 观察到显卡显存被占用,说明模型已成功加载。

六、服务调用验证
服务启动成功后,通过 OpenAI 兼容接口进行调用测试:
curl -s -X POST http://127.0.0.1:30000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "test",
"messages": [
{"role": "user", "content": "Hello"}
],
"max_tokens": 200,
"temperature": 0.7,
"stream": true
}'
返回符合 OpenAI Chat Completions 格式的响应即表示部署成功。
七、常见问题
Q1:容器启动失败,提示无法找到 /dev/kfd
驱动未正确安装或未重启服务。执行以下命令检查:
lsmod | grep -E "hydcu|hycu"
systemctl restart hymgr
Q2:--tensor-parallel-size 应该如何设置?
应设置为参与推理的 DCU 卡数量,且需能整除模型的注意力头数。例如 4 卡则设置为 4。
Q3:显存不足(OOM)如何调整?
适当降低 --max-model-len 或 --gpu-memory-utilization 的值。
参考链接
-
https://developer.sourcefind.cn/servicelist/detail?post_id=61036870-b3c7-11f0-9989-acde48001122&active=Overview
-
https://download.sourcefind.cn:65024/6/main/
更多推荐

所有评论(0)