跳转至

基于 OpenCloudOS 的沐曦部署实践

目前, OpenCloudOS 已实现对沐曦 MetaX 驱动与 MXMACA SDK 的深度适配和原生支持,为使用沐曦 GPU 用户提供了完整的 RPM 二进制软件包,包括内核级驱动、系统管理工具、计算库及AI框架适配组件。

本文档将指导如何在 OpenCloudOS 上快速完成沐曦 MetaX 驱动与 MXMACA SDK 的安装部署,并无缝运行上层AI模型与应用。

一、基础环境要求及说明

1、 支持 OpenCloudOS 内核版本 :系统及内核要求参见下表1, 仅支持该表中系统及内核版本,如低于支持版本,请先升级内核;若高于支持版本,OC社区与沐曦官方将尽快完善支持。 同时,在使用maca-sdk驱动时,gcc版本建议和系统发行版保持一致,cmake版本不低于3.10。

2、 支持的 GPU 设备 :沐曦曦云 C500/C550/C588/C600/N260 系列

3、 驱动软件版本 :3.1.0.26

4、 环境检查 :该部署流程中,驱动包主要以二进制形式安装,因此需严格按照第二节「前置检查」流程,匹配软硬件系统,确认CPU架构,操作系统以及内核版本是否在列表中。若有任何一项不匹配,需按照表1升级软硬件系统。

5、 其他要求 :PCIe要求支持Gen5 X16,MMIO资源满足GPU板卡资源需求,服务器电源满足整机最大工作负载,单个PCIe槽位满足GPU单卡的供电需求。

CPU架构 操作系统 内核版本
x86_64 OpenCloudOS 8 5.4.241-30.0017.19.oc8
x86_64 OpenCloudOS 9 6.6.104-41.oc9

表1:支持的 OpenCloudOS 系统版本

备注:以下部署流程以 OpenCloudOS 9 为例。

二、前置检查

请执行以下命令确认系统环境是否符合要求:

# 检查CPU架构
uname -m

# 检查操作系统版本
lsb_release -a

# 检查内核版本
uname -r

# 检查是否已安装旧版驱动
yum list installed | grep metax-driver

# 检查GPU设备是否识别
lspci | grep 9999
如已安装旧驱动,请先执行:yum remove metax-driver

如 OpenCloudOS 内核版本不满足需求,请先升级至指定内核并设置默认启动内核(见表1)。

三、安装 MetaX 驱动及 MXMACA SDK

3.1 安装 OpenCloudOS EPOL源

# 如使用 OpenCloudOS 9 系统,请先安装 EPOL extras 软件源
dnf install epol-extras-release

3.2 安装MetaX驱动包

# 安装驱动及依赖
dnf install metax-driver-3.1.0.26

3.3 创建运行用户(可选)

目的是将非 root 用户加入 video 组,如已加入,该步骤无需处理。

sudo adduser <username>
sudo usermod -a -G video <username>

3.4 固件升级(如需)

MetaX系列GPU采用沐曦带内管理工具mx-smi对固件进行升级。mx-smi工具自动安装在驱动安装包的/opt/mxdriver/bin目录下。

# 查看当前固件版本
mx-smi --show-version

# 升级固件(需root)
sudo mx-smi -u /lib/firmware/metax/mxc500/mxvbios-xxx.bin -t 600
升级后需重启系统生效。

3.5 虚拟化安装(如需)

如需使用 GPU 的 SRIOV 硬件虚拟化功能,需安装mxgvm,如不需要该功能,则无需安装,否则可能会出现检测不到硬件设备的问题。

dnf install mxgvm-3.0.26
备注:开启SRIOV功能后,物理 GPU 可以虚拟出若干 VF 设备,这些 VF 设备可以在宿主机上通过 metax-driver 直接使用,也可以绑定到虚拟机中使用。安装 mxgvm 会自动安装 metax-driver,当使用虚拟机时,libvirt 会自动将 GPU 设备从 metax-driver 解绑并重新绑定到 vfio 驱动,虚拟机中需要单独安装 metax-driver 驱动。

3.6 安装验证

可通过mx-smi查看驱动安装结果

输入图片说明

3.7 安装 MXMACA SDK包

由于相关 RPM 包较多,推荐使用如下命令一键安装。本次适配提供的MXMACA SDK RPM包清单,请参考 附录一:软件包列表

# 一键安装所有SDK组件
dnf install maca_sdk

四、AI 框架安装与验证

4.1 拉取 AI 镜像

可至沐曦官方开发者社区「AI 人工智能程序包」分类下,复制wget命令,进行不同 AI 框架的镜像拉取。截图以 vLLM 为例所示:

输入图片说明

备注:沐曦官方将在后续逐步提供适配 OpenCloudOS 9 的AI框架。

4.2 配置 cu-bridge 环境

dnf install -y git cmake
export MACA_PATH=/opt/maca
wget https://gitee.com/metax-maca/cu-bridge/repository/archive/3.1.0.zip
unzip 3.1.0.zip
mv cu-bridge-3.1.0 cu-bridge
sudo chmod 755 cu-bridge -Rf
cd cu-bridge
mkdir build && cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/opt/maca/tools/cu-bridge ../
make && make install

export MACA_PATH=/opt/maca
export CUCC_PATH=/opt/maca/tools/cu-bridge
export PATH=$PATH:${CUCC_PATH}/tools:${CUCC_PATH}/bin
export CUCC_CMAKE_ENTRY=2        # 选择使用cu-bridge模拟CMake服务
export CUDA_PATH=${CUCC_PATH}    # CUDA_PATH入口重定向到cu-bridge安装位置

4.3 启动容器

在容器中运行 AI 框架及大模型需要使用宿主机 GPU 能力,及直通宿主机GPU, 主要有如下两种方式(可选其一):

4.3.1 Docker Run(推荐方式):

docker run -it --restart=always --device=/dev/dri --device=/dev/mxcd --device=/dev/infiniband --group-add video --name deepspeed_test --network=host --security-opt seccomp=unconfined --security-opt apparmor=unconfined --shm-size 100gb --ulimit memlock=-1 --privileged=true -v /home:/home [image_id] bash

4.3.2 Metax-docker run :

(1)安装 metax-docker:

从浏览器登录沐曦开发者社区,在云平台工具中可找到 metax-docker 的下载页面

输入图片说明

选择合适版本的离线压缩包进行下载,用户可解压后根据安装环境选择合适的包进行安装。

# 安装metax-docker
mkdir metax-docker
tar -C metax-docker -xvf metax-docker_0.13.1.tar
cd metax-docker
sudo ./metax-docker_0.13.1.<ARCH>.run

(2)使用metax-docker:

用户需要安装版本≥19.03的 Docker 工具。同时应确保主机上已经正确安装了 MXMACA 软件栈。

# 在容器中使用曦云GPU
metax-docker run -it --rm --gpus=all user-application:1.0 /bin/bash

metax-docker 支持官方Docker的全部命令及参数,并在 .run 命令下支持额外参数,详细可参考该链接的指南

4.4 运行大模型(以vLLM+Qwen示例)

# 安装依赖
dnf install pip curl 
# 下载 modelscope
pip install modelscope
# 拉取大模型(以 Qwen 为例)
modelscope download --model 'Qwen/Qwen2-7b'
# 运行服务
vllm serve /root/.cache/modelscope/hub/models/Qwen/Qwen2-7b --port 8000 --served-model-name Qwen2-7b --served-model-name Qwen/Qwen2-7b

# 另起终端利用 curl 对话
curl http://localhost:8000/v1/chat/completions -H "Content-Type: application/json"     -d '{"model": "Qwen/Qwen2-7b","messages": [{"role": "system", "content": "你是一个有帮助的助手"},{"role": "user", "content": "法国首都在哪?"}],"max_tokens": 100,"temperature": 0.7}'

4.5 运行结果展示

输入图片说明

五、手动安装指南(备用方案)

若 MetaX 驱动或 MXMACA SDK 安装失败,可以从沐曦官方开发者社区下载需要的驱动程序和SDK开发工具包进行安装。

附录一:软件包列表

分类 文件名 包名
驱动 metax-driver-3.1.0.26-1.x86_64.rpm metax-driver
metax-linux-3.1.0.26-1.x86_64.rpm metax-linux
mxgvm-3.0.26-1.x86_64.rpm mxgvm
mxfw-3.1.0-1.noarch.rpm mxfw
mxsmt-3.1.0-1.x86_64.rpm mxsmt
SDK commonlib_3.1.0-3.1.0.19-1.x86_64.rpm commonlib
maca_sdk-3.1.0.19-1.x86_64.rpm maca_sdk
maca_sdk_3.1.0-3.1.0.19-1.x86_64.rpm maca_sdk
macainfo_3.1.0-3.1.0.19-1.x86_64.rpm macainfo
mcanalyzer_3.1.0-3.1.0.19-1.x86_64.rpm mcanalyzer
mcblas_3.1.0-3.1.0.19-1.x86_64.rpm mcblas
mcblaslt_3.1.0-3.1.0.19-1.x86_64.rpm mcblaslt
mcccl_3.1.0-3.1.0.19-1.x86_64.rpm mcccl
mcccltests-3.1.0-3.1.0.19-1.x86_64.rpm mcccltests
mccompiler_3.1.0-3.1.0.19-1.x86_64.rpm mccompiler
mcdnn_3.1.0-3.1.0.19-1.x86_64.rpm mcdnn
mcfft_3.1.0-3.1.0.19-1.x86_64.rpm mcfft
mcfile_3.1.0-3.1.0.19-1.x86_64.rpm mcfile
mcflashattn_3.1.0-3.1.0.19-1.x86_64.rpm mcflashattn
mcflashinfer_3.1.0-3.1.0.19-1.x86_64.rpm mcflashinfer
mcgpufort_3.1.0-3.1.0.19-1.x86_64.rpm mcgpufort
mchotspot_3.1.0-3.1.0.19-1.x86_64.rpm mchotspot
mcimage_3.1.0-3.1.0.19-1.x86_64.rpm mcimage
mcjpeg_3.1.0-3.1.0.19-1.x86_64.rpm mcjpeg
mckernellib_3.1.0-3.1.0.19-1.x86_64.rpm mckernellib
mcmathlib_3.1.0-3.1.0.19-1.x86_64.rpm mcmathlib
mcpti_3.1.0-3.1.0.19-1.x86_64.rpm mcpti
mcrand_3.1.0-3.1.0.19-1.x86_64.rpm mcrand
mcruntime_3.1.0-3.1.0.19-1.x86_64.rpm mcruntime
mcsolver_3.1.0-3.1.0.19-1.x86_64.rpm mcsolver
mcsolverit_3.1.0-3.1.0.19-1.x86_64.rpm mcsolverit
mcsparse_3.1.0-3.1.0.19-1.x86_64.rpm mcsparse
mcthrust_3.1.0-3.1.0.19-1.x86_64.rpm mcthrust
mctlass_3.1.0-3.1.0.19-1.x86_64.rpm mctlass
mctoolext_3.1.0-3.1.0.19-1.x86_64.rpm mctoolext
mctracer-3.1.0-3.1.0.19-1.x86_64.rpm mctracer
metax-fabricmanager_3.1.0-3.1.0.19-1.x86_64.rpm metax-fabricmanager
mxccl_plugin_3.1.0-3.1.0.19-1.x86_64.rpm mxccl_plugin
mxcompute_3.1.0-3.1.0.19-1.x86_64.rpm mxcompute
mxdiagease-3.1.0-3.1.0.19-1.x86_64.rpm mxdiagease
mxexporter-3.1.0-3.1.0.19-1.x86_64.rpm mxexporter
mxffmpeg-3.1.0-3.1.0.19-1.x86_64.rpm mxffmpeg
mxffmpeg-dev-3.1.0-3.1.0.19-1.x86_64.rpm mxffmpeg-dev
mxfortran_3.1.0-3.1.0.19-1.x86_64.rpm mxfortran
mxgdrcopy-3.1.0-3.1.0.19-1.x86_64.rpm mxgdrcopy
mxgpu_llvm_3.1.0-3.1.0.19-1.x86_64.rpm mxgpu_llvm
mxkw_3.1.0-3.1.0.19-1.x86_64.rpm mxkw
mxmaca-install-3.1.0-3.1.0.19-1.x86_64.rpm mxmaca-install
mxompi-3.1.0-3.1.0.19-1.x86_64.rpm mxompi
mxreport-3.1.0-3.1.0.19-1.x86_64.rpm mxreport
mxsm1-devel-3.1.0-3.1.0.19-1.x86_64.rpm mxsm1-devel
mxucx-3.1.0-3.1.0.19-1.x86_64.rpm mxucx
mxvpu_3.1.0-3.1.0.19-1.x86_64.rpm mxvpu
mxvs-3.1.0-3.1.0.19-1.x86_64.rpm mxvs
sample_3.1.0-3.1.0.19-1.x86_64.rpm sample
vscode-clangd_3.1.0-3.1.0.19-1.x86_64.rpm vscode-clangd

表2:软件包内容清单

备注:

metax-driver是驱动包元信息,安装依赖metax-linux/mxfw/mxsmt。

mxgvm是虚拟化驱动包,安装依赖metax-linux。

附录二:沐曦曦云系列GPU应用程序系统架构

输入图片说明

附录三:沐曦曦云C500、C550系列硬件适配列表

产品 适配CPU 主推拓扑 已适配OEM/厂商 优势
C500 Intel common 浪潮信息、新华三、联想、超聚变、中兴、宁畅等 1. 架构通用:基于经典4U PCIe AI服务器形态,易于适配、安装、维护,量产机型已覆盖主流OEM厂商,在各类整机产品中可适用范围最广。
2. 拓扑先进:通过C500 4卡互连拓扑并支持4种PCIe服务器经典拓扑(common,balance,cascade,直通),适应各类训练计算场景。
3. 多元平台:支持Intel及海光、飞腾、鲲鹏等国内外主流CPU平台。
4. 成熟稳定:已实现大规模交付并在多个超大规模集群部署并稳定运行。
海光4号 balance 浪潮计算机、新华三、联想、中兴、中科可控等
飞腾S5000C balance 长城等
鲲鹏920 cascade 超聚变、华鲲振宇等
C550 Intel balance 浪潮信息、新华三、联想、超聚变、中兴等 1. 架构通用:基于经典6U/8U OAM AI服务器形态,兼容OAM 1.5/2.0标准,可将UBB+OAM作为整体与机头进行适配,量产机型已覆盖主流OEM厂商。
2. 拓扑先进:通过C550 8卡全互连拓扑实现896GB/s国内领先带宽卡间互连,为各类训练计算场景提供标准服务器单机最强性能。
3. 多元平台:支持Intel及海光、飞腾、鲲鹏等国内外主流CPU平台。
4. 成熟稳定:已实现大规模交付并在多个超大规模集群部署并稳定运行。
5. 液冷兼容:提供液冷形态模组与液冷OAM服务器适配,已实现液冷OAM集群大规模部署。