海光GPU及环境部署
前言
截至目前(2026 年),海光(Hygon)GPU 主要基于 DCU(Deep Computing Unit)架构,其硬件兼容 AMD 的 CDNA 架构,并通过 ROCm(Radeon Open Compute)平台 提供 AI 加速支持。因此,在海光 GPU 上运行 AI 模型的核心路径是:使用 ROCm 生态 + 兼容框架。
ROCm 是 AMD 为自家 GPU(包括 Instinct 加速卡、Radeon 专业卡和部分消费级显卡)打造的 GPU 计算生态系统,对标 NVIDIA 的 CUDA。
PyTorch、TensorFlow、ONNX Runtime 等均有官方或社区 ROCm 适配版
ModelScope
海光DCU
海光平台 DCU指的是由海光信息(Hygon)自主研发的、基于其 DCU(Deep Computing Unit,深度计算单元)加速芯片构建的高性能计算软硬件平台。
架构兼容性
- 基于 ROCm(Radeon Open Compute)生态开发;
- ROCm 与 NVIDIA 的 CUDA 高度相似,因此被称为 “类 CUDA” 环境;
- 这使得大量原本为 CUDA 编写的 AI 框架(如 PyTorch、TensorFlow)可较低成本迁移到海光 DCU 平台。
海光开发者社区
简介
- 驱动是显卡驱动。
- DTK就相当于英伟达平台的CUDA Toolkit,必须要安装,版本要和驱动版本兼容。
- DAK是AI相关的软件包。
- 光源 镜像和测试过能使用的模型仓库,里面有模型的调用方式,不包含模型,模型还要从ModelScope上下载。
环境安装
查看系统信息
查看系统版本
1 | cat /etc/os-release # 大多数现代发行版 |
我这是CentOS8
1 | # 先恢复备份(避免叠加错误) |
配置完成后必须执行:
1 | # 清除旧缓存 + 重建元数据 |
安装驱动
下载驱动
1 | curl -o rock-6.3.30-V1.4.1a.run https://download.sourcefind.cn:65024/file/6/dtk-26.04驱动/rock-6.3.30-V1.4.1a.run |
安装
安装依赖
1 | sudo dnf install -y cmake |
安装驱动
1 | chmod +x rock-6.3.30-V1.4.1a.run |
安装完成后建议重启,再执行以下命令验证驱动是否生效。
验证驱动
检查 hycu 内核模块是否已加载:
1 | lsmod | grep hycu |
有输出(含 hycu 行)说明驱动模块已加载。
检查 DCU 设备节点是否存在:
1 | ls -l /dev/kfd /dev/dri |
使用 hy-smi 查看 GPU 是否被识别(驱动安装后位于 /opt/hyhal):
1 | /opt/hyhal/bin/hy-smi |
能列出 HCU 编号、温度、显存等信息,说明驱动安装成功。
安装DTK
DTK 版本需与驱动版本一致,本文示例为 DTK 26.04 搭配上文 rock-6.3.30-V1.4.1a 驱动。
完整安装包列表见官方下载页:
按 /etc/os-release 中的系统版本选择对应压缩包,我这是 CentOS 8.5:
1 | curl -o DTK-26.04-CentOS8.5-x86_64.tar.gz https://download.sourcefind.cn:65024/file/1/DTK-26.04/CentOS8.5/DTK-26.04-CentOS8.5-x86_64.tar.gz |
解压到 /opt 目录(需 root 权限):
1 | sudo tar xvf DTK-26.04-CentOS8.5-x86_64.tar.gz -C /opt |
创建软链接,便于后续切换 DTK 版本:
1 | sudo ln -sf /opt/dtk-26.04 /opt/dtk |
加载 DTK 环境变量,推荐写入 ~/.bashrc 以便登录后自动生效:
1 | source /opt/dtk/env.sh |
env.sh 会自动设置 DTK_HOME、PATH、LD_LIBRARY_PATH、ROCM_PATH 等变量。
若无法使用 env.sh,可手动追加以下核心变量:
1 | export DTK_HOME=/opt/dtk |
加载环境变量后再验证 DTK 是否安装成功:
1 | source /opt/dtk/env.sh |
hipcc --version 应输出 DTK 版本信息;rocminfo 中能看到 gfx936 等 DCU 代号,说明 DTK 与设备识别正常。
若 rocminfo 无设备信息,先确认上文驱动验证已通过,并检查是否已执行 source /opt/dtk/env.sh。
Python
ModelScope 及后续脚本依赖 Python 3.8及以上版本。
安装
安装 Python 3 与 pip:
1 | # 1. 下载 Miniconda 安装脚本 |
验证安装是否成功:
1 | python3 --version |
建议升级 pip,避免安装 ModelScope 时出现版本兼容问题:
1 | pip3 install --upgrade pip |
设置镜像
清华大学镜像源
1 | # 清除旧配置 |
查看
1 | conda config --show |
虚拟环境
1 | # 创建 Python 3.10 虚拟环境 |
ModelScope
安装
1 | pip3 install modelscope |
创建目录
1 | mkdir -p /data/tools/modelscope |
添加环境变量
1 | vi ~/.bashrc |
添加
1 | # ModelScope cache directory |
重新加载配置
1 | source ~/.bashrc |
验证
1 | echo $MODELSCOPE_CACHE |
Docker
安装 Docker
CentOS 8 下安装 Docker CE,与上文 dnf 源配置保持一致。
若系统里已有旧版 Docker 或 Podman,先卸载避免冲突:
1 | sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-logrotate docker-selinux docker-engine podman runc |
安装依赖并添加 Docker 官方源(此处使用阿里云镜像):
1 | sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 |
安装 Docker CE 及 Compose 插件:
1 | sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin |
启动服务并设置开机自启:
1 | sudo systemctl start docker |
镜像源设置
拉取 Docker Hub 官方镜像较慢时,可配置国内加速源;拉取光合 DCU 镜像还需额外配置 insecure-registries。
查看源
查看当前已配置的镜像加速:
1 | docker info | grep -A 10 "Registry Mirrors" |
或者:
1 | docker info --format '{{json .RegistryConfig.Mirrors}}' |
设置源
创建或修改 /etc/docker/daemon.json,同时写入 Docker Hub 加速 与 光合私有仓库 配置(写法参考 Linux 上 Docker 镜像源配置 与 CentOS 7 上从 Docker 1.13 升级到 Docker CE 及 镜像设置):
1 | sudo mkdir -p /etc/docker |
registry-mirrors 用于加速 Docker Hub 等公共镜像拉取;insecure-registries 用于允许访问光合 HTTP 端口仓库(如 image.sourcefind.cn:5000),避免证书或协议报错。
注意:部分镜像加速源需注册账号(如毫秒镜像),详见 Linux 上 Docker 镜像源配置。
修改后重启 Docker 使配置生效:
1 | sudo systemctl daemon-reload |
查看镜像源是否生效:
1 | sudo docker info | grep -A 10 "Registry Mirrors" |
运行光源镜像
光源提供了集成相关组件的镜像,可以在容器内直接调用 AI 模型。
例如下面这个镜像基于 Ubuntu 22.04,内置 DTK 25.04.1、vLLM 0.8.5 和 Python 3.10。
先拉取镜像(标签按实际需要替换):
1 | docker pull image.sourcefind.cn:5000/dcu/admin/base/vllm:0.8.5-ubuntu22.04-dtk25.04.1-py3.10 |
启动容器时需挂载宿主机 /opt/hyhal 并映射 DCU 设备节点:
1 | docker run -it \ |
常用镜像
pytorch镜像
vllm
适配说明
查看显卡型号
1 | clinfo | grep -A 2 "Device Type" |
可以看到Board name
1 | Device Type: CL_DEVICE_TYPE_GPU |
GPU信息
GPU管理工具
1 | /opt/hyhal/bin/hy-smi |
hy-smi 是 海光(Hygon)自研 GPU(如 P800、W100 等)配套的系统管理接口工具。
功能类似于 NVIDIA 的 nvidia-smi 或 AMD 的 rocm-smi,用于监控和管理海光 GPU 的状态,
包括:
- 显存使用情况(总显存、已用、空闲)
- GPU 利用率
- 温度、功耗
- 驱动版本
- 设备拓扑等
输入
1 | hy-smi |
信息说明
你提供的 hy-smi(或类似海光 GPU 监控工具)输出信息如下:
1 | HCU Temp AvgPwr Perf PwrCap VRAM% HCU% Mode |
这是对 两张海光 GPU(HCU = Hygon Compute Unit) 的实时状态监控。下面逐列解释其含义:
各列详细说明
| 列名 | 含义 | 你的值示例 | 说明 |
|---|---|---|---|
| HCU | GPU 设备编号 | 0, 1 |
表示系统中第 0 号和第 1 号海光 GPU |
| Temp | 温度 | 61.0°C, 62.0°C |
GPU 芯片当前温度,正常工作范围通常为 30–85°C |
| AvgPwr | 当前平均功耗 | 108.0W, 112.0W |
GPU 实时功耗,远低于上限,说明负载很低 |
| Perf | 性能状态 | auto |
表示 GPU 处于自动频率调节模式(类似 NVIDIA 的 “P2” 或 “P8” 状态) |
| PwrCap | 功耗上限(TDP) | 400.0W |
该 GPU 最大允许功耗为 400W(典型如 P800/W100 的规格) |
| VRAM% | 显存使用率 | 0% |
当前显存占用比例为 0% —— 注意:这只是使用率,不是总显存大小! |
| HCU% | 计算单元利用率 | 0.0% |
GPU 核心计算单元空闲,无任务运行 |
| Mode | 运行模式 | Normal |
正常工作模式(非维护、节能或故障状态) |
常用指令
查看剩余显存
1 | hy-smi --showmemavailable |
显示总显存和已用显存
1 | hy-smi --showmeminfo vram |
查看是否有进程在使用 GPU
1 | hy-smi --showpids |
查看显存是否启用 ECC(关键用于稳定性)
1 | hy-smi --showmemeccinfo |
总结速查表
| 目标 | 推荐参数 |
|---|---|
| 总显存 / 已用显存 | --showmeminfo vram |
| 剩余可用显存 | --showmemavailable |
| GPU 核心频率 | -g 或 -c |
| 显存频率 | -c 或 --showclkfrq |
| 功耗上限 | -M |
| 当前运行的 GPU 进程 | --showpids |
| ECC 错误检查 | --showmemeccinfo |
前提条件
确认你的海光 GPU 型号和驱动
必须安装 海光官方提供的 ROCm 兼容驱动栈(通常由服务器厂商或海光提供,非公开下载)。
验证命令(需 root 或 sudo):
1 | rocminfo # 查看 ROCm 设备信息 |
推理环境
推理环境要用海光提供的兼容版本
比如PyTorch、vLLM等
海光 GPU 调用 AI 模型路线图
- 多模态 Qwen/Qwen3.6-27B
- 图像识别 baidu-qianfan/Qianfan-OCR
- TTS Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice
- ASR Qwen/Qwen3-ASR-1.7B
- 视频生成 WanX/Wan2.2-T2V-A14B
1 | modelscope download --model Qwen/Qwen3.6-27B |