安装 NVIDIA MLNX_OFED#
Red Hat Enterprise Linux 的 DGX 软件堆栈不包含适用于 Linux 的 NVIDIA MLNX_OFED (OpenFabrics Enterprise Distribution)。这是为了确保 MLNX_OFED 驱动程序与 Red Hat 发行版内核同步。本节介绍如何在运行 Red Hat Enterprise Linux 的系统上下载、安装和升级 MLNX_OFED。
先决条件#
NVIDIA 验证每个版本的 NVIDIA DGX Software for Red Hat Enterprise Linux 都使用特定的 MLNX_OFED 版本。有关为特定版本的 NVIDIA EL8 软件安装推荐的 MLNX_OFED 版本,请参阅 NVIDIA DGX Software for Red Hat Enterprise Linux 8 发行说明。
安装和配置 MLNX_OFED#
执行以下步骤在尚未安装 MLNX_OFED 的系统上安装它。 必须为 DGX 系统正在运行的 RHEL 版本使用经过验证的 MLNX_OFED 版本。
重要提示
随时运行 dnf update
命令来安装驱动程序可能会将系统更新到最新的 Red Hat Enterprise Linux 版本。
确定 DGX 系统上安装的 Red Hat Enterprise Linux 版本。
cat /etc/redhat-release
在参考 NVIDIA DGX Software for Red Hat Enterprise Linux 8 发行说明 文档后,下载 MLNX_OFED 软件包
转到 Linux InfiniBand 驱动程序 页面,然后向下滚动到 MLNX_OFED 下载中心 矩阵。
在 MLNX_OFED 下载中心 矩阵中,选择
要安装的版本(您可能需要选择 存档版本),
RHEL/CentOS/Rocky(在操作系统发行版下),以及
相关的操作系统发行版版本和架构。
单击支持的 ISO 或 tgz 软件包。
出现 Mellanox OFED (MLNX_OFED) 软件:最终用户许可协议 页面。
通过单击 我已阅读上述最终用户许可协议 接受最终用户许可协议。
所选的软件包开始下载。
下载正确的 MLNX_OFED 软件包后,继续执行安装说明
转到 MLNX_OFED 软件版本 站点,然后选择您下载的 MLNX_OFED 软件版本。
单击 用户手册 链接,然后导航到 安装 > 安装 MLNX_OFED。
按照安装说明进行操作。
注意
系统可能会报告在执行安装之前需要安装其他软件。 如果出现此类消息,请安装该软件,然后重试安装 MLNX_OFED 驱动程序。
如果您打算使用 NVIDIA GPUDirect Storage (GDS),请根据 MLNX_OFED 要求和安装 中的说明启用驱动程序的 GDS 支持。
安装
nvidia-mlnx-config
。sudo dnf install -y nvidia-mlnx-config
为您的内核安装内核头文件和开发包。
这些是后续 DKMS 编译所必需的。
sudo dnf install -y kernel-headers-$(uname -r) kernel-devel-$(uname -r)
安装 MLNX_OFED 驱动程序后,安装 NVIDIA 对等内存模块。
sudo dnf install -y nvidia-peer-memory-dkms
注意
nvidia-peer-memory-dkms 版本 1.2 或更高版本,需要 MOFED 版本 5.4-3.0.3.0 或更高版本。 使用不符合这些标准的 MOFED 版本将导致 nv_peer_mem DKMS 模块构建失败。 有关更多信息,请参阅
注意
虽然可能可以使用内置驱动程序,但不建议使用内置驱动程序,因为它们提供的性能低于官方 MLNX OFED 驱动程序,并且不支持 GPUDirectTM RDMA 功能。 有关配置内置驱动程序的更多信息,请参阅 Red Hat Enterprise Linux 文档:配置 InfiniBand 和 RDMA 网络
更新 NVIDIA MLNX_OFED#
执行以下步骤以更新已安装 MOFED 的系统上的 MOFED。 RPM 软件包中的 Mellanox InfiniBand 驱动程序是为特定内核版本预编译的。
必须为 DGX 系统已更新到的 RHEL 版本使用正确的 MOFED 版本。 无需先卸载当前的 MOFED,因为 mlnxofedinstall
脚本会自动卸载任何先前安装的版本。
升级 Red Hat Enterprise Linux 发行版和内核版本。
sudo dnf update --nobest
确定 DGX 系统上安装的 Red Hat Enterprise Linux 版本。
cat /etc/redhat-release
在参考发行说明后,下载 MLNX_OFED 软件包。
转到 Linux InfiniBand 驱动程序 页面,然后向下滚动到 MLNX_OFED 下载中心 矩阵。
在 MLNX_OFED 下载中心 矩阵中,选择
要安装的版本(您可能需要选择 存档版本),
RHEL/CentOS/Rocky(在操作系统发行版下),以及
相关的操作系统发行版版本和架构。
单击支持的 ISO 或 tgz 软件包。
出现 Mellanox OFED (MLNX_OFED) 软件:最终用户许可协议 页面。
通过单击 我已阅读上述最终用户许可协议 接受最终用户许可协议。
所选的软件包开始下载。
将下载的 ISO 挂载到系统上的某个位置。
以下示例显示 ISO 被挂载到
/mnt
目录。sudo mount MLNX_OFED_LINUX-<version>.iso /mnt
准备安装驱动程序。
删除
nvidia-mlnx-config
和nvidia-peer-memory-dkms
。sudo dnf remove -y nvidia-mlnx-config nvidia-peer-memory-dkms
mlnxofedinstall
步骤将在安装新软件包之前删除软件包,导致nvidia-mlnx-config
和nvidia-peer-memory-dkms
因依赖于其中一些已删除的软件包而失效。 提前删除这些组件可以避免问题。 这些组件将在最后一步重新安装。指定安装驱动程序时要使用的新内核版本。
NEXTKERNEL=$(sudo grubby --default-kernel | sed 's/.*vmlinuz\-//g')
使用 -
k
和 -s
标志安装驱动程序,以指定新的内核版本和内核源代码路径。sudo /mnt/mlnxofedinstall -k ${NEXTKERNEL} -s /lib/modules/${NEXTKERNEL}/build --force
注意
系统可能会报告在执行安装之前必须安装其他软件。 如果出现该消息,请安装该软件,然后重复此步骤。
重启。
sudo reboot
重新安装
nvidia-mlnx-config
和nvidia-peer-memory-dkms
。sudo dnf install -y nvidia-mlnx-config nvidia-peer-memory-dkms
如果您打算使用 NVIDIA GPUDirect Storage (GDS),请根据 MLNX_OFED 要求和安装 中的说明启用驱动程序的 GDS 支持。