升级操作系统和 DGX 软件#

NVIDIA 和 Red Hat 以更新软件包的形式在版本之间提供操作系统更新,其中包含安全缓解措施和错误修复。

您应该定期评估可用的更新,并使用 sudo dnf update --nobest 命令更新系统。

注意

dnf update 可能会导致 Linux 内核与当前安装的 MLNX_OFED 网络驱动程序不兼容。为了防止此问题,您可以执行以下任一任务

  • 在升级 Linux 内核之前,请在使用 NVIDIA MLNX_OFED 支持的 Linux 版本的情况下,使用 dnf update --setopt tsflags=test 命令检查 Linux 内核升级版本,而无需实际升级。

  • 在升级 Linux 内核时,请考虑将 MLNX_OFED 升级到支持新内核的版本。

有关已知常见漏洞和暴露 (CVE) 的列表,包括可以通过更新操作系统软件解决的漏洞,请参阅 Red Hat Security Updates

重要提示

您有责任升级 DGX 系统上的软件,以安装来自这些来源的更新。

在升级之前,请参阅 NVIDIA DGX Software for Red Hat Enterprise Linux 8 Release Notes,以获取信息、已知问题和解决方法。

为了保持在相同的 RHEL 版本并防止 Linux 内核和 GPU 驱动程序之间的不兼容性,请使用 subscription-manager release --set=<release> 命令固定 RHEL 版本。例如,subscription-manager release --set=8.9 命令将系统绑定到 RHEL 8.9。

如果有可用的更新,您可以通过运行以下命令获取软件包升级

sudo dnf update -nobest

升级到 NVIDIA Linux 图形驱动程序需要重启才能完成内核升级。如果您在不重启 DGX 系统的情况下升级 NVIDIA Linux 图形驱动程序,则在运行 nvidia-smi 命令时,将显示如下例所示的错误消息。

Failed to initialize NVML: Driver/library version mismatch

安装或升级到更新的 CUDA 工具包版本#

只有 DGX Station、DGX Station A100 和 DGX Station A800 默认安装了 CUDA 工具包版本。DGX 服务器旨在作为使用容器的共享资源,默认情况下未安装 CUDA 工具包。但是,您可以选择安装合格的 CUDA 工具包版本。

虽然 DGX OS 支持所有与已安装驱动程序互操作的 CUDA 工具包版本,但 DGX OS 版本可能包含一个默认的 CUDA 工具包版本,该版本可能不是最新发布的版本。除非您必须使用包含新功能的新的 CUDA 工具包版本,否则我们建议您保留 DGX OS 版本中包含的默认版本。有关默认 CUDA 工具包版本,请参阅 NVIDIA DGX Software for Red Hat Enterprise Linux 8 Release Notes

重要提示

在安装或升级到任何 CUDA 工具包版本之前,请确保该版本与系统上安装的驱动程序兼容。有关更多信息和兼容性矩阵,请参阅 CUDA 兼容性。

检查当前安装的 CUDA 工具包版本#

以下是一些关于确定您当前安装的 CUDA 工具包版本的前提条件的信息。

重要提示

CUDA 工具包默认未安装在 DGX 服务器上,如果您尝试运行以下命令,则不会列出已安装的软件包。

在安装新的 CUDA 工具包版本之前,要检查当前安装的版本,请运行以下命令

sudo dnf list --installed cuda-toolkit-*

例如,以下输出显示已安装 CUDA 工具包 11.0

Listing... Done

cuda-toolkit-11-0/unknown,unknown,now 11.0.3-1 amd64 [installed]

N: There is 1 additional version. Please use the '-a' switch to see it

确定新的可用 CUDA 工具包版本#

这些步骤可帮助您确定哪些新的 CUDA 工具包版本可用。执行以下步骤以查看新的可用 CUDA 工具包版本。

  1. 如果您的 DGX OS 版本早于 5.3,请确保您的系统上安装了正确的 GPG 签名密钥。

    在继续升级之前,请参阅 DGX OS 5 Release Notes 以获取说明和详细信息。

  2. 使用来自 Red Hat 存储库的最新信息更新本地数据库。

    sudo update
    
  3. 显示所有可用的 CUDA 工具包版本。

    sudo dnf list cuda-toolkit-*
    

    示例输出

    Listing... Done
    
    cuda-toolkit-11-0/unknown,unknown,now 11.0.3-1 amd64 [installed]
    cuda-toolkit-11-1/unknown,unknown 11.1.1-1 amd64
    cuda-toolkit-11-2/unknown,unknown 11.2.1-1 amd64
    

    输出显示 11.0、11.1 和 11.2 是可以安装的可能的 CUDA 工具包版本

安装 CUDA 工具包或将您的 CUDA 工具包升级到更新的版本#

您可以安装 CUDA 工具包或将其升级到更新的版本。

要安装或升级 CUDA 工具包,请运行以下命令

sudo dnf install cuda-toolkit-11-2

重要提示

版本 11.2 只是一个示例。请将此值替换为您要安装的实际版本。

安装 GPUDirect Storage 支持#

NVIDIA Magnum IO GPUDirect Storage (GDS) 为 GPU 内存和存储之间的直接内存访问 (DMA) 传输启用直接数据路径。此软件避免了通过 CPU 的反弹缓冲区。

安装 GPUDirect Storage 支持的先决条件#

  • 如果系统使用 MLNX_OFED 驱动程序,请按照 MLNX_OFED Requirements and Installation 中的说明启用 GDS 支持。

  • 对于 NVIDIA DGX-1、DGX-2 和 DGX Station 以外的系统,要使用由 nvidia-fs-dkms-2.17.5-1 提供的最新 GDS 版本 12.2.2-1,您必须安装 NVIDIA Open GPU Kernel 模块驱动程序。请参阅 更改 NVIDIA 驱动程序分支

  • 对于运行通用 Linux 内核的 NVIDIA DGX-1、DGX-2 和 DGX Station,这些系统中的 GPU 不支持 NVIDIA Open GPU Kernel 模块。GDS 版本 12.2.2-1 及更高版本仅支持 Open GPU Kernel 模块。

    对于这些系统,您必须将 nvidia-fs 软件包锁定到 2.17.3 或更低版本,并将 nvidia-gds 软件包锁定到 12.2.1-1 或更低版本。

    sudo dnf versionlock add nvidia-fs-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_peermem

对于 CUDA 11.5.1 及更高版本,如果您计划使用 Weka FS 或 IBM SpectrumScale,则需要运行

modprobe nvidia_peermem

这将加载支持 peerdirect 功能的模块。系统重启后必须运行此命令。为了在每次重启后自动加载模块,请运行以下命令

echo "nvidia-peermem" | sudo tee /etc/modules-load.d/nvidia-peermem.conf

警告:nvidia-peer-memory 模块未加载问题

DGX os5.1.1 提供 nv-peer-mem 1.2 和 MLNX_OFED 5.4-3.1.0.0,以解决 MLNX_OFED 5.4-1.0.3.0 中发现的问题。nv-peer-mem 1.2 与 MLNX_OFED <= 5.4-1.0.3.0 不兼容

尝试将 nv_peer_mem 1.2 与 MLNX_OFED <= 5.4-1.0.3.0 一起使用将导致以下错误消息

root@dgx-02:~# cat /var/lib/dkms/nv_peer_mem/1.2/build.make.log DKMS make.log for nv-peer-mem-1.2 for kernel 5.4.0-92-generic …

如果您使用 MLNX_OFED <= 5.4-1.0.3.0 并且遇到此问题,则建议您降级到 nv_peer_mem 1.1

sudo dnf downgrade nvidia-peer-memory-dkms-21-03-0.el modprobe nv_peer_mem

安装 nvidia-gds#

要安装 GDS,请执行以下步骤。

  • 安装 nvidia-gds 软件包。

    sudo dnf install nvidia-gds
    

请参阅 Verifying a Successful GDS Installation in the NVIDIA GPUDirect Storage Installation and Troubleshooting Guide