手册下载
H3C服务器 GPU MIG模式典型配置-6W101-整本手册.pdf (2.00 MB)
H3C服务器
GPU MIG模式典型配置
Copyright © 2023 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档介绍H3C服务器的GPU MIG模式典型配置举例。
GPU MIG模式如图1-1所示,MIG(即Multi-Instance GPU)功能允许NVIDIA GPU安全地划分为多达七个独立的GPU实例,用于CUDA应用程序,为多个用户提供独立的GPU资源以实现最佳GPU利用率,每个实例均与各自的高带宽显存、缓存和计算核心完全隔离。
图1-1 MIG模式示意图
本文中介绍的典型配置,适用于以下机型:
· H3C Uniserver R5500 G6
· H3C Uniserver R5300 G6
· H3C Uniserver R5350 G6
· H3C Uniserver R5500 G5
· H3C Uniserver R5300 G5
· H3C Uniserver R5300 G3
本文中介绍的典型配置,适用于以下GPU:
· GPU-A100-40G
· GPU-A100-80G
· GPU-H800-80G
· GPU-A100-80GB-NoCEC
· GPU-HGX A100 4-GPU-40GB
· GPU-HGX A100 4-GPU-80GB
· GPU-HGX A100 8-GPU-40GB
· GPU-HGX A100 8-GPU-80GB
· GPU-HGX H800 8-GPU-80GB
如图2-1所示,R5300 G5服务器上安装了CentOS 8.2系统,并配置了NVIDIA PCIe A100-40G GPU。使用NVIDIA PCIe A100-40G GPU在MIG模式下对GPU进行配置,创建vGPU并将vGPU添加至虚拟机中使用。
图2-1 MIG模式组网图
(1) 为了提升虚拟机的性能,允许虚拟机直接访问I/O设备,需要使能服务器的虚拟化技术和Access Control Services。
(2) 在BIOS中开启VT-d功能,使操作系统支持虚拟化。
(3) 物理显卡必须支持NVIDIA GRID vGPU解决方案。
(4) 创建虚拟机并将GPU设备添加到虚拟机。
(5) 为了使虚拟机可以正常使用GPU,需要在虚拟机系统中安装vGPU驱动。
本举例使用如下版本进行配置和验证:
表2-1 使用的机型和版本
型号或版本 |
|
机型 |
R5300 G5 |
HDM版本 |
2.80 |
BIOS版本 |
5.34 |
服务器GPU配置方案 |
8GPU-HPC |
GPU类型 |
NVIDIA PCIe A100-40G |
GPU驱动版本 |
510.47.03 |
vGPU驱动版本 |
510.47.03 |
物理机操作系统 |
CentOS 8.2 |
虚拟机操作系统 |
CentOS 8.2 |
由于需要在CentOS系统中管理虚拟机,请确保系统已安装“virt-manager”管理器,一般推荐在安装OS时选择全包安装。
(1) 登录服务器的BIOS Setup界面。
(2) 使能虚拟化技术:Intel平台使能VT-d,AMD平台使能IOMMU。
· Intel平台使能方法:在BIOS的Advanced /Socket Configuration /IIO Configuration界面中,将Intel® VT for Directed I/O设置为Enable,如图2-2所示。
· AMD平台的设置路径:在BIOS的Advanced /AMD CBS /NBIO Common Options界面中,将IOMMU设置为Enable,如图2-3所示。
(3) 使能Access Control Services。
a. 在BIOS的Advanced / Socket Configuration / IIO Configuration界面中,按Ctrl+Shift+F8,打开BIOS下的隐藏项。
b. 将IIO Configuration下的PCIe Access Control Services选项设置为Enable。
图2-4 使能PCIe Access Control Services
使用这种方法进行设置仅生效一次,重启系统后需要重新设置。
(1) 在系统启动阶段按Esc键进入系统grub界面,在grub引导弹出需要进入的系统界面时,按E键进入图2-5所示编辑引导参数界面,然后按方向键进行翻页,并在指定位置加入“intel_iommu=on iommu=pt”来开启IOMMU支持功能。
(2) 设置完成后按Ctrl-x继续启动系统。
· 此配置为持久配置,只需执行一次,重启系统后仍然有效。
· 本方法会直接修改系统的配置文件,如果写入的配置内容出错可能导致系统启动文件损坏,从而无法正常开机,请谨慎使用此方法。
(1) 修改系统下的grubenv配置文件,在图2-6所示位置增加“intel_iommu=on iommu=pt”。配置文件地址通常位于/boot/grub2/grubenv路径。
图2-6 修改grubenv配置文件
(2) 执行grub2-mkconfig -o /boot/grub2/grubenv命令,生成grub配置文件。
图2-7 生成grub配置文件
(3) 重启操作系统使配置生效。
(1) 执行systemctl set-default multi-user.target命令,进入多用户模式。
图2-8 进入多用户模式
(2) 重启操作系统使配置生效。
(1) 依次执行如下命令,对自带驱动进行拉黑操作。
echo "blacklist nouveau" >>/etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" >>/etc/modprobe.d/blacklist-nouveau.conf
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
图2-9 拉黑自带驱动
(2) 执行reboot命令,重启系统,使配置生效。
(1) 在系统中执行rpm -ivh NVIDIA-vGPU-rhel-8.2-510.47.03.x86_64.rpm命令,安装vGPU驱动
图2-10 安装vGPU驱动
(2) 执行reboot命令,重启操作系统使配置生效。
(1) 执行nvidia-smi命令,查看GPU信息,MIG的默认状态是被禁用的。
图2-11 查看GPU信息
(2) 创建基于MIG的vGPU实例,需要将GPU切换到MIG模式。
开启MIG时,请确保物理GPU未被任何其他进程使用。
执行nvidia-smi -mig 1命令,启用MIG模式。此配置为持久化配置,设置执行一次,重启服务器后依然生效。
图2-12 启用MIG模式
(3) 启用MIG模式后,执行nvidia-smi命令,查看GPU信息,确认MIG模式已启用。
图2-13 查看GPU信息
检索每一个目录所能创建的vGPU类型和数量。
如果未创建MIG vGPU实例,则所有的MIG类型的vGPU可创建数量均显示为0。
(1) NVIDIA驱动程序提供了许多配置文件,用户在配置MIG功能时可以选择加入这些配置文件。GPU实例配置文件可以看出用户可以创建的GPU实例的大小和功能。
执行nvidia-smi mig –lgip命令,可以查看GPU实例配置文件。
图2-15 查看GPU实例配置文件
(2) 驱动程序还提供有关放置的信息,这些信息用来指示可以创建的实例的类型和数量,其命令为:nvidia-smi mig –lgipp,可以列出可用位置。
图2-16 查看可用位置
(3) 在开始使用MIG之前,需要使用-cgi来创建MIG配置文件。在我们需要创建GPU实例和相应的计算实例(即,CI)。用户可以创建两个GPU实例,分别为MIG 4g.20gb和2g.10gb。其命令为:nvidia-smi mig -cgi 5,14,表示:创建2个ID为5和14的GPU实例。
图2-17 创建GPU实例
(4) 现在可列出的GPU实例,命令为:nvidia-smi mig –lgi。
图2-18 列出创建的GPU实例
(1) 查看vGPU配置文件各类型中可创建的数量。
图2-19 查看可创建数量
(2) 可对A100-2-10C或A100-4-20C创建MIG vGPU实例。
此处选择目录:/sys/class/medv_bus/0000:3d:00.6/dev_supported_types。
分别对应目录:nvidia-475和nvidia-477。
图2-20 查看设备位置
(3) 上面创建了一个2-10C vGPU设备,如果创建第二个,则需要在另一个目录,这里选择目录:/sys/class/medv_bus/0000:3d:00.7/dev_supported_types。可以看到仅有1个4-20C的vGPU类型可以创建。
图2-21 查看可创建vGPU类型
(4) 创建第二个设备。
图2-22 创建第二个设备
(5) 查看全部创建的vGPU设备。
图2-23 查看全部创建的设备
(1) 在CentOS 8.2操作系统中执行virt-manager命令,弹出Virtual Machine Manager,如图2-24所示。
(2) 通过VM管理器在虚拟机上安装系统,具体步骤如下。
a. 将待安装的虚拟机镜像文件放在主机中。
b. 如图2-25所示,开始创建一个新虚拟机,选择通过镜像文件安装。
c. 如图2-26所示,浏览并选择待安装到虚拟机的OS镜像文件。
d. 如图2-27所示,设置虚拟机的内存和CPU参数。
e. 如图2-28所示,设置虚拟机硬盘容量。
f. 如图2-29所示,为虚拟机命名,完成虚拟机配置。
g. 如图2-30所示,选择Install CentOS Linux 8,安装操作系统。安装操作系统的具体步骤,请参见《H3C服务器 操作系统安装指导》。
进入虚拟机后,需设置多用户模式,禁用自带驱动,此部分可参考2.5.3 MIG模式设置章节相关配置方法。
(1) 将之前生成的vGPU的uuid写入虚拟机文件中,执行命令virsh edit centos82,编辑虚拟机的xml配置并添加vGPU设备配置段,其中,centos82为虚拟机的名称。
图2-31 添加vGPU设备到虚拟机
(2) 保存退出后,启动该虚拟机,此时vGPU已经分配给此虚拟机。
(1) 为虚拟机配置IP地址等参数,推荐使虚拟机连接到互联网。
(2) 将vGPU驱动程序上传至虚拟机。
(3) 安装驱动程序,如图2-32所示。
(1) 如果虚拟机的系统中缺少依赖文件,安装驱动时会出现如图2-33所示报错信息。
(2) 如图2-34所示,查看/var/log/路径中的nvidia-installer.log文件。
图2-34 查看NVIDIA安装日志
(3) 如图2-35所示,确认当前系统安装GPU驱动缺少的依赖文件。
(4) 如图2-36所示,执行yum命令,依次安装缺少的依赖文件。如虚拟机已联网,系统可自动下载软件包;如虚拟机未联网,请配置本地的yum源。
(5) 如图2-37所示,再次安装GPU驱动,直至安装完成。
如图2-38所示,在虚拟机系统中执行nvidia-smi命令,查看GPU信息,能看到GPU已被虚拟机识别。