附录三 GPU驱动安装
GPU适配清单
| 处理器架构、操作系统或 Kubernetes 版本 | NVIDIA 全系 | 华为310P 系列 | 华为910B 系列 | 海光 部分型号 | 天数 部分型号 | PPU 部分型号 |
|---|---|---|---|---|---|---|
| x86+H84r | √ | × | × | × | √ | × |
| x86+V10SP3 | √ | × | × | × | × | × |
| x86+V10SP3.2403 | √ | √ | × | √ | √ | √ |
| arm+V10SP3 | √ | × | √ | × | × | × |
| arm+V10SP3.2403 | √ | √ | √ | × | × | × |
| Kubernetes 1.24 | √ | √ | √ | √ | √ | × |
| Kubernetes 1.30 | √ | √ | √ | √ | √ | √ |
| Kubernetes 1.35 | √ | √ | √ | √ | √ | √ |
经过验证的国产GPU型号:
华为310P系列:300I Pro、300I Duo
华为910B系列:910B2、910B3、910B4
海光DCU:Z100、Z100L、K100_AI
天数天垓:天垓100、天垓150
阿里PPU:PPU-ZW810E
其他型号请咨询原厂工程师。
英伟达 GPU
GPU驱动安装
本章节描述 NVIDIA GPU 驱动的安装过程。
禁用nouveau驱动
echo 'blacklist nouveau options nouveau modeset=0' > /etc/modprobe.d/nvidia-installer-disable-nouveau.conf安装内核依赖
yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut /boot/initramfs-$(uname -r).img $(uname -r) --force systemctl set-default multi-user.target init 3重启服务器
reboot检查nouveau驱动没有被使用
输出为空即表示没有使用
lsmod | grep nouveau安装依赖
按照CPU架构选择合适的安装方式。
# x86架构时 yum install -y elfutils-libelf-devel # arm架构时 yum install -y gcc-c++ make elfutils-libelf-devel安装驱动
以下X86服务器上安装 Nvidia T4 显卡驱动为例。
驱动文件X86架构(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/NVIDIA-Linux-x86_64-550.90.07.run
驱动文件ARM架构(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run
bash NVIDIA-Linux-x86_64-550.90.07.run驱动安装完成后,查看显卡信息
nvidia-smi
计算节点调整为GPU节点
创建业务集群或添加节点时,若节点已勾选GPU节点,则略过本小节。
本小节仅适用于计算节点加入业务集群时未勾选GPU节点的情况:
创建集群或添加节点时漏选GPU节点角色的情况。
计算节点运行了一段时间后,添加GPU卡并改造为GPU节点的情况。
参照本附录英伟达 GPU > GPU驱动安装小节完成 GPU 驱动安装。
略
安装toolkit
yum install -y nvidia-container-toolkit修改
containerd环境的默认runtime编辑
/etc/containerd/config.toml,找到default_runtime_name并修改为以下参数default_runtime_name = "nvidia"重启容器服务
systemctl daemon-reload systemctl restart containerd添加节点标签
kubectl label node #节点名称# node-role.kubernetes.io/gpu= --overwrite=true kubectl label node #节点名称# nvidia.com/gpu=true --overwrite=true kubectl label node #节点名称# gpu=on --overwrite=true
华为 NPU
NPU驱动安装
本章节描述 华为NPU 驱动的安装过程。
创建运行用户
华为NPU 使用1000及9000的用户id及用户组id,如果该id已被占用,可参考文档调整:https://www.hiascend.com/document/caselibrary/detail/topic_0000001591705097
groupadd -g 1000 HwHiAiUser useradd -g HwHiAiUser -d /home/HwHiAiUser -u 1000 -m HwHiAiUser -s /bin/bash groupadd -g 9000 hwMindX useradd -g hwMindX -d /home/hwMindX -u 9000 -m -s /sbin/nologin hwMindX usermod -a -G HwHiAiUser hwMindX安装依赖
yum install -y net-tools make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)安装驱动
以下X86服务器上安装310P芯片系列显卡驱动为例。
驱动文件X86架构(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/Ascend-hdk-310p-npu-driver_24.1.rc2_linux-x86-64.run
驱动文件ARM架构(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run
chmod u+x Ascend-hdk-310p-npu-driver_24.1.rc2_linux-x86-64.run ./Ascend-hdk-310p-npu-driver_24.1.rc2_linux-x86-64.run --check ./Ascend-hdk-310p-npu-driver_24.1.rc2_linux-x86-64.run --full如果在安装驱动过程中遇到错误:
/usr/local/Ascend无权限,执行:chmod +x/usr/local/Ascend驱动安装确认
npu-smi info安装firmware固件
以下以310P芯片系列的显卡为例。
固件文件(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run
chmod u+x Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run ./Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run --check ./Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run --full重启服务器
reboot
计算节点调整为GPU节点
创建业务集群或添加节点时,若节点已勾选GPU节点,则略过本小节。
本小节仅适用于计算节点加入业务集群时未勾选GPU节点的情况:
例如创建集群时节点漏选GPU节点角色的情况。
计算节点运行了一段时间后,添加GPU卡并改造为GPU节点的情况。
参照本附录华为 NPU > NPU驱动安装小节完成 NPU 驱动安装。
略
禁用vNPU配置恢复功能
npu-smi set -t vnpu-cfg-recover -d 0安装Ascend-docker-runtime
按照CPU架构选择合适的安装方式。
# x86 环境 mkdir -p /opt/zstack-edge/copy cd /opt/zstack-edge/copy wget http://#基础服务VIP#:7700/kubespray/release-2.20/v1.24.6/amd64/Ascend-docker-runtime_6.0.RC2_linux-x86_64.run chmod +x Ascend-docker-runtime_6.0.RC2_linux-x86_64.run ./Ascend-docker-runtime_6.0.RC2_linux-x86_64.run --install # arm 环境 mkdir -p /opt/zstack-edge/copy cd /opt/zstack-edge/copy wget http://#基础服务VIP#:7700/kubespray/release-2.20/v1.24.6/arm64/Ascend-docker-runtime_6.0.RC2_linux-aarch64.run chmod +x Ascend-docker-runtime_6.0.RC2_linux-aarch64.run ./Ascend-docker-runtime_6.0.RC2_linux-aarch64.run --install修改
containerd环境的默认runtime编辑
/etc/containerd/config.toml,找到default_runtime_name并修改为以下参数default_runtime_name = "ascend"重启
containerdsystemctl daemon-reload systemctl restart containerd添加节点标签
kubectl label node #节点名称# node-role.kubernetes.io/gpu= --overwrite=true kubectl label node #节点名称# workerselector=dls-worker-node --overwrite=true kubectl label node #节点名称# ascend=on --overwrite=true
海光 DCU
本章节描述 海光DCU 驱动的安装过程。
海光DCU 驱动仅适配 X86_64架构 + 麒麟V10SP3.2403 操作系统的组合。
DCU驱动安装
确定dcu设备
lspci -nn | grep "Display" |grep "Haiguang"安装依赖
yum -y install cmake3 automake gcc-c++ rpm-build kernel-devel-`uname -r` kernel-headers-`uname -r` kernel-modules-extra-`uname -r` mlocate安装驱动
驱动文件(或使用官方支持的以上版本驱动): http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/rock-5.7.1-6.2.26-V1.5.aio.run
bash rock-5.7.1-6.2.26-V1.5.aio.run重启服务器
reboot安装dtk
DTK文件(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/DTK-24.04.3-Kylinv10SP3-x86_64.tar.gz
tar -zxvf DTK-24.04.3-Kylinv10SP3-x86_64.tar.gz -C /opt ln -s /opt/dtk-24.04.3 /opt/dtk确认安装成功
source /opt/dtk/env.sh hy-smi
计算节点调整为GPU节点
创建业务集群或添加节点时,若节点已勾选GPU节点,则略过本小节。
本小节仅适用于计算节点加入业务集群时未勾选GPU节点的情况:
例如创建集群时节点漏选GPU节点角色的情况。
计算节点运行了一段时间后,添加GPU卡并改造为GPU节点的情况。
参照本附录海光 DCU > DCU驱动安装小节完成 DCU 驱动安装。
略
添加节点标签
kubectl label node #节点名称# node-role.kubernetes.io/gpu= --overwrite=true kubectl label node #节点名称# dcu=on --overwrite=true
天数智芯 GPU
本章节描述 天数智芯GPU 驱动的安装过程。
天数智芯GPU 驱动仅适配 X86_64架构 + 麒麟V10SP3.2403 操作系统的组合。
GPU驱动安装
确定gpu设备
0001 表示天垓加速卡,0002 表示智铠加速卡,不同加速卡使用的驱动不同,注意区分。
后续步骤以天垓100为例。
lspci -vv | grep 1e3e安装固件
固件文件(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/ixfw-bi_v100-5.0.8_x86_64.run
bash ixfw-bi_v100-5.0.8_x86_64.run重启服务器
reboot安装依赖
yum install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) ncurses-libs elfutils-libelf-devel安装cuda
cuda文件(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/cuda_10.2.89_440.33.01_linux.run
最低版本要求:
cuda_10.2.89_440.33.01_linux.run安装时只勾选安装Toolkit
bash cuda_10.2.89_440.33.01_linux.run安装驱动
驱动文件(或使用官方支持的以上版本驱动):http://oss.zstack.io/solutions/edge/zstack-zaku/gpu-driver/corex-installer-linux64-3.2.1_x86_64_10.2.run
# 天数天垓 100 为例 bash corex-installer-linux64-3.2.1_x86_64_10.2.run --silent --driver --toolkit设置环境变量
编辑
/root/.bash_profile,在最后加上以下内容PATH=$PATH:$HOME/bin:/usr/local/corex-3.2.1/bin LD_LIBRARY_PATH=/usr/local/corex-3.2.1/libexport LD_LIBRARY_PATH生效环境变量配置
source /root/.bash_profile确认安装成功
ixsmi
计算节点调整为GPU节点
创建业务集群或添加节点时,若节点已勾选GPU节点,则略过本小节。
本小节仅适用于计算节点加入业务集群时未勾选GPU节点的情况:
例如创建集群时节点漏选GPU节点角色的情况。
计算节点运行了一段时间后,添加GPU卡并改造为GPU节点的情况。
参照本附录天数智芯 GPU > GPU驱动安装小节完成 GPU 驱动安装。
略
添加节点标签
kubectl label node #节点名称# node-role.kubernetes.io/gpu= --overwrite=true kubectl label node #节点名称# iluvatar=on --overwrite=true
