其他软件#
DGX OS 5 是 Ubuntu 20.04 Linux 发行版的优化版本,可以访问 Ubuntu 和 NVIDIA 存储库中提供的大量其他软件。您可以使用 apt
命令或通过图形工具安装其他软件。
注意
图形工具仅适用于 DGX Station 和 DGX Station A100。
有关 Ubuntu 提供的其他软件的更多信息,另请参阅 安装其他应用程序
在安装其他软件或升级已安装的软件之前,另请参阅发行说明以获取最新的发行信息。
升级系统#
在安装任何其他软件之前,您应该将系统升级到最新版本。这确保您可以访问自上次升级以来已添加到存储库中的新软件版本。有关更多信息和说明,包括启用 Ubuntu 的 扩展安全维护 更新的说明,请参阅升级。
重要提示
只有在升级 DGX OS 之后,您才会看到最新的软件分支。
注意
当您在软件分支之间切换时,例如 GPU 驱动程序或 CUDA 工具包,您必须安装新分支的软件包。根据软件的不同,它会删除现有分支或支持系统上安装的并发分支。
更改您的 GPU 分支#
NVIDIA 驱动程序由 Canonical 作为预编译和签名的内核模块发布,可以直接从 Ubuntu 存储库获得。签名驱动程序是验证驱动程序包的完整性和供应商身份所必需的。
但是,验证过程要求 Canonical 在 Ubuntu 内核更新完成其发布周期后构建和发布驱动程序,此过程有时可能会延迟新的驱动程序分支发布和更新。有关 NVIDIA 驱动程序发布的更多信息,请参阅 NVIDIA 驱动程序文档中的发行说明。
重要提示
Ubuntu 存储库提供以下版本的签名和预编译 NVIDIA 驱动程序
通用 NVIDIA 显示驱动程序
NVIDIA 数据中心 GPU 驱动程序
在您的 DGX 系统上,仅安装包含 NVIDIA 数据中心 GPU 驱动程序的软件包。NVIDIA 数据中心 GPU 驱动程序的元软件包具有 -server
或 -server-open
后缀。
检查当前安装的驱动程序分支#
在安装新的 NVIDIA 驱动程序分支之前,要检查当前安装的驱动程序分支,请运行以下命令
apt list --installed nvidia-driver*server
确定新的可用驱动程序分支#
以下步骤可帮助您确定哪些新的驱动程序分支可用。
要查看新的可用 NVIDIA 驱动程序分支
使用来自 Ubuntu 存储库的最新信息更新本地数据库。
sudo apt update
显示所有可用的驱动程序分支。
apt list nvidia-driver*server
可选:显示可用的 NVIDIA Open GPU 内核模块分支。
apt list nvidia-driver-*-server-open
注意
NVIDIA Open GPU 内核模块驱动程序在 NVIDIA DGX-1、DGX-2 和 DGX Station 系统上不受支持。
升级您的 GPU 分支#
要手动将驱动程序升级到最新分支
在运行
apt update
或apt upgrade
命令之前,如果安装的 GPU 驱动程序是 R465 或更高版本,
检查是否安装了
nvidia-peermem-loader
软件包dpkg -l | grep nvidia-peermem-loader
如果未安装,请运行
apt install nvidia-peermem-loader
如果安装的 GPU 驱动程序低于 R465,
检查是否安装了
nvidia-peer-memory
和nvidia-peer-memory-dkms
软件包dpkg -l | grep nvidia-peer-memory
如果未安装,请运行
apt install nvidia-peer-memory nvidia-peer-memory-dkms
安装最新的内核。
sudo apt install -y linux-generic
安装最新的 NVIDIA GPU 驱动程序。
在以下命令中,
*nvidia*${GPU_BRANCH}*-
中的尾部-
字符指定在同一事务中删除旧驱动程序。由于此操作会从系统中删除软件包,因此务必先执行试运行,并确保将删除正确的软件包。将
GPU_BRANCH
设置为最新的分支版本,例如 535。在非 Fabric Manager 系统上,例如 DGX-1、DGX Station V100 (Volta) 和 DGX Station A100,运行以下命令
GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-generic nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-conf-xconfig nv-docker-gpus "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-generic nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-conf-xconfig nv-docker-gpus "*nvidia*${GPU_BRANCH}*-"
对于 DGX Station V100 (Volta) 和 DGX Station A100 系统,启用并启动监视器显示
sudo systemctl enable nvidia-conf-xconfig sudo systemctl start nvidia-conf-xconfig
在 Fabric Manager 系统上,例如 DGX-2 和 DGX A100,运行相同的命令,但附加
nvidia-fabricmanager-535
软件包GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify the --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-generic nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-generic nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-"
注意
驱动程序版本仅用作示例。将该值替换为您要安装的版本。
示例命令未演示安装 Open GPU 内核模块驱动程序。指定
-server-open
软件包名称后缀,例如nvidia-driver-535-server-open
,而不是nvidia-driver-535-server
,以使用 Open GPU 内核模块驱动程序。在重新启动 DGX-2 或 DGX A100 系统之前,启用
nvidia-fabricmanager
服务。sudo systemctl unmask nvidia-fabricmanager
sudo systemctl enable nvidia-fabricmanager
如果您使用的是 DGX-1、DGX-2 或 DGX A100 系统,请运行以下命令以安装对等内存软件包。
注意
如果您使用的是 NVIDIA GPU 驱动程序系列 R465 及更高版本,则这些 GPU 驱动程序提供自己的对等内存功能,这会与旧的
nvidia-peer-memory
软件包冲突。您应该安装nvidia-peermem-loader
软件包,而不是nvidia-peer-memory
软件包。sudo apt install -y nvidia-peermem-loader
要安装
nvidia-peer-memory
软件包sudo apt install -y --reinstall nvidia-peer-memory-dkms
重新启动
nvidia-peer-memory
服务sudo /usr/sbin/update-rc.d nv_peer_mem defaults
如果您要从低于 R515 的分支升级到 R515 或更高版本的驱动程序分支,或者如果您要从 R515 或更高版本的驱动程序分支降级到低于 R515 的旧分支,请安装正确的 DCGM 版本。否则,您可以跳过此步骤。
如果您要从低于 R515 的分支升级到 R515 或更高版本的分支,请确定最新的 DCGM 3.x 版本
apt-cache policy datacenter-gpu-manager
示例输出
datacenter-gpu-manager: Installed: 1:3.0.4 Candidate: 1:3.1.3 Version table: 1:3.1.3 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages 1:3.0.4 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages 100 /var/lib/dpkg/status *** 1:2.4.7 600 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages 600 https://repo.download.nvidia.com/baseos/ubuntu/focal/x86_64 focal-updates/common amd64 Packages
确定最新的 DCGM 3.x 版本。在上面的示例中,这将是
1:3.1.3
。安装最新的 DCGM 3.x 版本sudo apt install datacenter-gpu-manager=1:3.1.3
如果您要从 R515 或更新的分支降级到低于 R510 的旧分支(请注意,R510 是 R515 的过渡软件包),则安装 DCGM 版本 2
sudo apt install datacenter-gpu-manager/$(lsb_release -cs)-updates -y --allow-downgrades
注意
驱动程序分支 R510 及更早版本依赖于 NSCQ v1,而 R515 及更高版本依赖于 NSCQ v2。它们需要不同版本的 DCGM,这些版本托管在不同的存储库(DGX 和 CUDA)中。DGX 存储库配置了更高的优先级,以防止 APT 在安装驱动程序版本 R510 或更早版本时将 DCGM 升级到不受支持的版本。
上述步骤覆盖了为驱动程序 R515+ 安装 DCGM 3.x 的版本。一旦安装的版本大于优先级版本,APT 首选项将不再使用。用户将能够使用 APT 进行 DCGM 3.x 升级,作为通常的“apt upgrade”过程的一部分。
安装或升级到较新的 CUDA 工具包版本#
只有 DGX Station 和 DGX Station A100 默认安装了 CUDA 工具包版本。DGX 服务器旨在成为使用容器的共享资源,并且默认情况下未安装 CUDA 工具包。但是,您可以选择安装合格的 CUDA 工具包版本。
尽管 DGX OS 支持与已安装驱动程序互操作的所有 CUDA 工具包版本,但 DGX OS 版本可能包含默认的 CUDA 工具包版本,该版本可能不是最新发布的版本。除非您必须使用包含新功能的新的 CUDA 工具包版本,否则我们建议您保留 DGX OS 版本中包含的默认版本。有关默认的 CUDA 工具包版本,请参阅 DGX OS 软件发行说明。
重要提示
在安装或升级到任何 CUDA 工具包版本之前,请确保该版本与系统上安装的驱动程序兼容。有关更多信息和兼容性矩阵,请参阅 CUDA 兼容性。
CUDA 兼容性矩阵和向前兼容性#
每个 CUDA 工具包都需要最低 GPU 驱动程序版本。此兼容性矩阵记录在 CUDA 兼容性:使用正确的兼容软件包中。
如果安装了适当的向前兼容性软件包,则较新的 CUDA 工具包可以与较旧的 GPU 驱动程序一起使用。有关更多信息,请参阅 CUDA 兼容性。
检查当前安装的 CUDA 工具包版本#
以下是一些关于确定您当前安装的 CUDA 工具包版本的前提信息。
重要提示
默认情况下,DGX 服务器上未安装 CUDA 工具包,如果您尝试运行以下命令,则不会列出已安装的软件包。
在安装新的 CUDA 工具包版本之前,要检查当前安装的版本,请运行以下命令
apt list --installed cuda-toolkit-*
例如,以下输出显示已安装 CUDA 工具包 11.0
apt list --installed cuda-toolkit-*
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 工具包版本
使用来自 Ubuntu 存储库的最新信息更新本地数据库。
apt update
显示所有可用的 CUDA 工具包版本。
apt list cuda-toolkit-*
以下输出显示 11.0 已安装,而 11.1 和 11.2 是可以安装的可能的 CUDA 工具包版本
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
要安装或升级 CUDA 工具包,请运行以下命令
apt install cuda-toolkit-<version>
将<version>替换为您要安装的实际版本。您只需要指定前两个字段,例如 11.1 或 11.2。
安装或升级 GPUDirect Storage#
NVIDIA Magnum IO GPUDirect Storage (GDS) 允许 GPU 内存和存储之间进行直接内存访问 (DMA) 传输的直接数据路径。此软件避免了通过 CPU 的反弹缓冲区。
先决条件#
对于 NVIDIA DGX-1、DGX-2 和 DGX Station 以外的系统,要使用 nvidia-fs-dkms-2.17.5-1 提供的最新 GDS 版本 12.2.2-1,您必须安装 NVIDIA Open GPU 内核模块驱动程序。有关安装驱动程序的更多信息,请参阅升级您的 GPU 分支。
对于 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 或更低版本。
创建一个
/etc/apt/preferences.d/nvidia-fs
文件,内容如下Package: nvidia-fs Pin-Priority: 900 Pin: version 2.17.3-1 Package: nvidia-gds Pin-Priority: 900 Pin: version 12.2.1-1
验证 nvidia-fs 软件包首选项是否正确。
sudo apt-cache policy nvidia-fs
示例输出
nvidia-fs: Installed: (none) Candidate: 2.17.3-1 Version table: 2.17.5-1 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages 2.17.3-1 900 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages ...
验证 nvidia-gds 软件包首选项是否正确。
sudo apt-cache policy nvidia-gds
示例输出
nvidia-gds: Installed: (none) Candidate: 12.2.1-1 Version table: 12.2.2-1 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages 12.2.1-1 900 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 Packages ...
对于 NVIDIA DGX-1、DGX-2 和 DGX Station,禁用 IOMMU 以避免 DMAR 惩罚。
编辑 GRUB 配置文件。
sudo vi /etc/default/grub
将
intel_iommu=off
添加到GRUB_CMDLINE_LINUX_DEFAULT
变量。如果该变量已经包含其他选项,请输入一个空格来分隔选项。请参阅以下示例。
... GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 intel_iommu=off" ...
生成 GRUB 引导加载程序。
sudo update-grub sudo reboot
系统重新启动后,验证更改是否生效。
cat /proc/cmdline
示例输出
BOOT_IMAGE=/boot/vmlinuz-... console=tty0 intel_iommu=off
步骤#
安装带有正确依赖项的 nvidia-gds
软件包
将
NVIDIA_DRV_VERSION
环境变量设置为驱动程序版本。NVIDIA_DRV_VERSION=$(cat /proc/driver/nvidia/version | grep Module | awk '{print $8}' | cut -d '.' -f 1)
安装 nvidia-gds 软件包。
对于必须使用版本
12.2.1-1
的 NVIDIA DGX-1、DGX-2 和 DGX Station。sudo apt install nvidia-gds-12-2=12.2.1-1 nvidia-dkms-${NVIDIA_DRV_VERSION}-server
对于其他 NVIDIA DGX 系统。
sudo apt install nvidia-gds-<version> nvidia-dkms-${NVIDIA_DRV_VERSION}-server
使用 CUDA 工具包版本号代替 <version>,例如
12-2
。
请参阅NVIDIA GPUDirect Storage 安装和故障排除指南中的验证 GDS 是否成功安装。
安装 nvidia_peermem#
对于 CUDA 11.5.1 及更高版本,如果您计划使用 Weka FS 或 IBM SpectrumScale,则需要运行
modprobe nvidia_peermem
这将加载支持对等直接功能的模块。系统重启后,必须运行此命令。
为了在每次重启后自动加载模块,请运行以下命令
echo "nvidia-peermem" | sudo tee /etc/modules-load.d/nvidia-peermem.conf
注意
如果 nvidia_peer_memory
模块未加载
DGX OS 5.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 一起使用将导致如下错误
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 (x86_64)
Wed Jan 5 20:36:09 UTC 2022
INFO: Building with MLNX_OFED from: /usr/src/ofa_kernel/default
如果您必须使用 MLNX_OFED <= 5.4-1.0.3.0 并且遇到此问题,则建议降级到 nv_peer_mem
1.1。
sudo apt install --reinstall nvidia-peer-memory-dkms=1.1-0-nvidia2