安装 DGX 软件#
本节假定您已在 DGX™ 系统上安装了红帽企业 Linux 或衍生操作系统。如果您已在 kickstart 安装期间安装了 DGX 软件堆栈,则可以跳过本节。
重要提示
在执行安装之前,请参阅发行说明,了解最新信息以及取决于具体版本的其他说明。
配置系统代理#
如果您的网络需要您使用代理
编辑文件
/etc/dnf/dnf.conf
并确保[main]
部分中存在以下行,并使用适用于您网络的参数proxy=http://<Proxy-Server-IP-Address>:<Proxy-Port> proxy_username=<Proxy-User-Name> proxy_password=<Proxy-Password>
启用 DGX 软件存储库#
注意
通过运行这些命令,您确认已阅读并同意接受 NVIDIA 软件许可协议的约束,该协议可在 NVIDIA 企业软件页面上找到。您还确认您理解您选择在 DGX 中安装的任何预发布软件和材料可能无法完全正常运行,可能包含错误或设计缺陷,并且可能相对于 NVIDIA 软件和材料的商业版本而言,在安全性、隐私性、可用性和可靠性标准方面有所降低或不同,并且您自行承担使用预发布版本的风险。
为红帽企业 Linux 安装 NVIDIA DGX 软件包。
sudo dnf install -y https://repo.download.nvidia.com/baseos/el/el-files/9/nvidia-repo-setup-22.12-1.el9.x86_64.rpm
安装必需组件#
在红帽企业 Linux 上,运行以下命令以启用 DGX 软件所需的其他存储库。
sudo subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms sudo subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms sudo subscription-manager repos --enable=codeready-builder-for-rhel-9-x86_64-rpms
升级到最新软件。
sudo dnf update -y --nobest
安装 DGX 工具和配置文件。
对于 DGX-1,安装 DGX-1 配置。
sudo dnf group install -y 'DGX-1 Configurations'
对于 DGX-2,安装 DGX-2 配置。
sudo dnf group install -y 'DGX-2 Configurations'
对于 DGX A100,安装 DGX A100 配置。
sudo dnf group install -y 'DGX A100 Configurations'
对于 DGX A800,安装 DGX A800 配置。
sudo dnf group install -y 'DGX A800 Configurations'
对于 DGX H100,安装 DGX H100 配置。
sudo dnf group install -y 'DGX H100 Configurations'
对于 DGX H200,安装 DGX H200 配置。
sudo dnf group install -y 'DGX H200 Configurations'
对于 DGX Station,安装 DGX Station 配置。
sudo dnf group install -y 'DGX Station Configurations'
对于 DGX Station A100,安装 DGX Station A100 配置。
sudo dnf group install -y 'DGX Station A100 Configurations'
配置更改仅在系统重启后生效。为了减少重启次数,您可以推迟重启,直到安装驱动程序之后。
配置数据驱动器#
DGX 系统中的数据驱动器可以配置为 RAID 0 或 RAID 5。RAID 0 提供最大的存储容量和性能,但不提供任何冗余。
RAID 0 通常用于数据缓存。您可以使用 cachefilesd 为 NFS 共享提供缓存。
重要提示
您可以稍后更改 RAID 级别,但这将销毁这些驱动器上的数据。
除 DGX-1 之外,RAID 配置可以在操作系统安装期间配置。如果您已在安装期间配置了 RAID 阵列,则可以跳过第一步并转到步骤 2。
配置
/raid
分区。所有 DGX 系统都支持 RAID 0 或 RAID 5 阵列。
以下命令创建 RAID 阵列,将其挂载到
/raid
,并在/etc/fstab
中创建相应的条目。要创建 RAID 0 阵列
sudo /usr/bin/configure_raid_array.py -c -f
要创建 RAID 5 阵列
sudo /usr/bin/configure_raid_array.py -c -f -5
注意
RAID 阵列必须在安装
nvidia-conf-cachefilesd
之前配置,这会将正确的 SELinux 标签放置在/raid
目录上。如果您在安装nvidia-conf-cachefilesd
后需要重新创建 RAID 阵列(这将擦除/raid
上的任何标签),请务必在重新启动cachefilesd
之前手动恢复标签。sudo restorecon /raid sudo systemctl restart cachefilesd
(可选)安装用于管理 DGX A100、DGX A800 或 DGX H100/H200 系统上的数据驱动器的自加密驱动器 (SED) 的工具。
有关更多信息,请参阅管理自加密驱动器。
(可选)如果您希望将 RAID 阵列用于缓存,请安装
nvidia-conf-cachefilesd
。这将更新cachefilesd
配置以使用/raid
分区。sudo dnf install -y nvidia-conf-cachefilesd
安装 GPU 驱动程序#
您可以选择 DGX 系统的不同 GPU 驱动程序分支。最新的驱动程序版本包含新功能,但可能无法提供与旧版本相同的支持持续时间。有关更多详细信息以及 GPU 架构所需的最低驱动程序版本,请参阅 NVIDIA 驱动程序文档中的发行说明。
显示可用驱动程序的列表。
dnf module list nvidia-driver
示例输出
Name Stream Profiles Summary nvidia-driver latest default [d], fm, ks, src Nvidia driver for latest branch nvidia-driver latest-dkms [d] default [d], fm, ks Nvidia driver for latest-dkms branch nvidia-driver open-dkms default [d], fm, ks, src Nvidia driver for open-dkms branch nvidia-driver 515 default [d], fm, ks, src Nvidia driver for 515 branch nvidia-driver 515-dkms default [d], fm, ks Nvidia driver for 515-dkms branch nvidia-driver 515-open default [d], fm, ks, src Nvidia driver for 515-open branch nvidia-driver 520 default [d], fm, ks, src Nvidia driver for 520 branch nvidia-driver 520-dkms default [d], fm, ks Nvidia driver for 520-dkms branch nvidia-driver 520-open default [d], fm, ks, src Nvidia driver for 520-open branch nvidia-driver 525 default [d], fm, ks, src Nvidia driver for 525 branch nvidia-driver 525-dkms default [d], fm, ks Nvidia driver for 525-dkms branch nvidia-driver 525-open default [d], fm, ks, src Nvidia driver for 525-open branch nvidia-driver 530 default [d], fm, ks, src Nvidia driver for 530 branch nvidia-driver 530-dkms default [d], fm, ks Nvidia driver for 530-dkms branch nvidia-driver 530-open default [d], fm, ks, src Nvidia driver for 530-open branch nvidia-driver 535 [e] default [d] [i], fm, ks, src [i] Nvidia driver for 535 branch nvidia-driver 535-dkms default [d], fm, ks Nvidia driver for 535-dkms branch nvidia-driver 535-open default [d], fm, ks, src Nvidia driver for 535-open branch
在安装 NVIDIA CUDA 驱动程序并配置系统之前,
将步骤 2 中用作示例的发行版本 (
535
) 替换为您要安装的版本。如果示例输出中的
Stream
列未显示您想要的已编译驱动程序版本(例如,535
),而仅显示 DKMS 版本 (535-dkms
),则无论系统如何,都将步骤 2 中的相关sudo dnf module install --nobest -y nvidia-driver:535...
命令替换为以下命令sudo dnf module install --nobest -y nvidia-driver:535-dkms/fm
确保您打算安装的驱动程序版本受系统中 GPU 的支持。
安装 NVIDIA CUDA 驱动程序。
对于非 NVSwitch 系统,例如 DGX-1、DGX Station 和 DGX Station A100,使用 default 和 src 配置文件安装驱动程序
sudo dnf module install --nobest -y nvidia-driver:535/{default,src} sudo dnf install -y nv-persistence-mode libnvidia-nscq-535
对于 NVSwitch 系统,例如 DGX-2、DGX A100、DGX H100/H200 和 DGX A800,使用 fabric manager (fm) 和 source (src) 配置文件安装驱动程序
sudo dnf module install --nobest -y nvidia-driver:535/{fm,src} sudo dnf install -y nv-persistence-mode nvidia-fm-enable
(仅限 DGX Station A100)安装 DGX Station A100 所需的其他软件包。
这些软件包必须在安装
nvidia-driver
模块后安装。sudo dnf install -y nvidia-conf-xconfig nv-docker-gpus
配置更改仅在系统重启后生效。为了减少重启次数,您可以推迟重启,直到安装 NVIDIA Container Runtime 组之后。
使用 Docker CE 或 Podman 安装和配置 NVIDIA Container Toolkit。
选择以下选项之一
安装和运行 Docker CE#
要使用 Docker CE 运行 NVIDIA 容器
安装 NVIDIA 容器设备插件以及 Docker CE。
安装 NVIDIA Container Runtime 组
sudo dnf group install -y --allowerasing 'NVIDIA Container Runtime'
重启系统以加载驱动程序并更新系统配置。
重启系统。
sudo reboot
系统重启后,验证驱动程序是否已加载并正在处理 NVIDIA 设备。
nvidia-smi
输出显示所有可用的 GPU。
示例输出
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.86.10 Driver Version: 535.86.10 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:06:00.0 Off | 0 | | N/A 35C P0 42W / 300W | 0MiB / 16160MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ | 1 Tesla V100-SXM2... On | 00000000:07:00.0 Off | 0 | | N/A 35C P0 44W / 300W | 0MiB / 16160MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ ... +-------------------------------+----------------------+----------------------+ | 7 Tesla V100-SXM2... On | 00000000:8A:00.0 Off | 0 | | N/A 35C P0 43W / 300W | 0MiB / 16160MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
运行以下命令以验证安装
sudo docker run --gpus=all --rm nvcr.io/nvidia/cuda:12.2.0-base-ubi8 nvidia-smi
输出显示所有可用的 GPU。
有关
nvcr.io
的信息,请参阅 NGC 私有注册表用户指南。
安装和运行 Podman#
要使用 Podman 运行 NVIDIA 容器
安装 Podman。
sudo dnf install podman
安装
nvidia-container-toolkit-base
软件包。sudo dnf clean expire-cache && sudo dnf install -y nvidia-container-toolkit-base
检查 NVIDIA Container Toolkit 版本。
nvidia-ctk --version
生成容器设备接口 (CDI) 规范文件。
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
示例命令使用
sudo
以确保创建/etc/cdi/nvidia.yaml
中的文件。您可以省略--output
参数以将生成的规范打印到STDOUT
。验证 GPU 驱动程序是否已加载并正在处理 NVIDIA 设备。
nvidia-smi -L
运行以下命令以验证安装。
sudo podman run --rm --device nvidia.com/gpu=all ubuntu nvidia-smi -L
通过使用 Podman 运行示例容器来验证您的安装。
podman run --security-opt=label=disable --rm --device nvidia.com/gpu=all ubuntu nvidia-smi
安装可选组件#
在安装安装必需组件中描述的组件后,DGX 已完全正常运行。如果您打算在 DGX 系统上启动 NGC 容器(其中包含 CUDA 工具包、NCCL、cuDNN 和 TensorRT),这是预期的用例,则可以跳过本节。
如果您打算将 DGX 用作开发系统,以在裸机上运行深度学习应用程序,则请安装本节中描述的可选组件。安装 CUDA Toolkit 12.2 软件包(请参阅从本地存储库安装 NVIDIA CUDA 驱动程序)
sudo dnf install -y cuda-toolkit-12-2 cuda-compat-12-2 nvidia-cuda-compat-setup
注意
nvidia-smi
的输出显示与已安装驱动程序本机兼容的 CUDA 版本(例如,先前步骤中的“NVIDIA-SMI 535.86.10 驱动程序版本:535.86.10 CUDA 版本:12.2”)。建议安装与此版本匹配的 CUDA 工具包和兼容软件包。
要安装 NVIDIA Collectives Communication Library (NCCL) 运行时,请参阅 NCCL:入门 文档
sudo dnf group install -y 'NVIDIA Collectives Communication Library Runtime'
要安装 CUDA 深度神经网络 (cuDNN) 库运行时,请参阅 NVIDIA cuDNN 页面。
sudo dnf group install -y 'CUDA Deep Neural Networks Library Runtime'
要安装 NVIDIA TensorRT,请参阅 NVIDIA TensorRT 页面。
安装 NVIDIA GPUDirect Storage#
先决条件#
对于 NVIDIA DGX-1、DGX-2 和 DGX Station 以外的系统,要使用 nvidia-fs-dkms-2.17.5-1 提供的最新 GDS 版本 12.2.2-1,您必须安装 NVIDIA Open GPU 内核模块驱动程序。有关安装驱动程序的更多信息,请参阅安装 GPU 驱动程序。
对于运行通用 Linux 内核的 NVIDIA DGX-1、DGX-2 和 DGX Station,这些系统中的 GPU 不受 NVIDIA Open GPU 内核模块的支持。GDS 版本 12.2.2-1 及更高版本仅支持 Open GPU 内核模块。
对于这些系统,您必须将 nvidia-fs 软件包锁定为版本 2.17.3 或更低版本,并将 nvidia-gds 软件包锁定为版本 12.2.1-1 或更低版本。
sudo dnf install python3-dnf-plugin-versionlock sudo dnf versionlock add nvidia-fs-0:2.17.3-1 nvidia-fs-dkms-0:2.17.3-1 nvidia-gds-0:12.2.1-1
示例输出
Adding versionlock on: nvidia-fs-0:2.17.3-1.* Adding versionlock on: nvidia-gds-0:12.2.1-1.*
步骤#
要安装 NVIDIA GPUDirect Storage (GDS),请执行以下步骤。
安装内核标头和内核的开发软件包。
sudo dnf install -y kernel-headers-$(uname -r) kernel-devel-$(uname -r)
安装 GDS 软件包。
sudo dnf install -y nvidia-gds
请参阅NVIDIA GPUDirect Storage 安装和故障排除指南中的验证 GDS 安装成功。
安装可选的 NVIDIA 桌面主题#
DGX 软件存储库还提供可选的主题软件包和桌面壁纸,使 DGX Station 桌面的用户界面具有 NVIDIA 的外观和风格。这些软件包本应作为DGX Station 配置组的一部分安装。
要应用主题和背景图像,请首先打开 gnome-tweaks。
在应用程序下,选择 NV-Yaru 主题之一。这有默认、浅色和深色变体。
在 Shell 下,选择 NV-Yaru-dark 主题。
如果此字段灰显,您可能需要重启系统或重启 GDM 以启用 user-themes 扩展。
要重启 GDM,请执行以下操作。
sudo systemctl restart gdm
为背景图像和锁屏选择 NVIDIA 壁纸之一。