安装 gIB NCCL 插件

本页介绍了如何使用 Debian 软件包 (.deb) 或 Red Hat 软件包管理器 (.rpm) 安装 NCCL/gIB。安装完成后,您可以在 A4X Max、A4X、A4 和 A3 Ultra 实例上运行 NCCL 工作负载。

(对于 A4X Max)更新了用户空间库

在 A4X Max 上,您必须先安装最新的用户空间库,然后才能运行 NCCL 工作负载。

Debian 12+/Ubuntu 20.04+(.deb 软件包)

sudo apt update
sudo apt install curl

# Fetch DOCA OFED userspace libraries
export DOCA_URL="https://linux.mellanox.com/public/repo/doca/latest/ubuntu22.04/arm64-sbsa/"
export BASE_URL="https://linux.mellanox.com/public/repo/doca"
curl "${BASE_URL}/GPG-KEY-Mellanox.pub" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/GPG-KEY-Mellanox.pub
echo "deb [signed-by=/etc/apt/trusted.gpg.d/GPG-KEY-Mellanox.pub] ${DOCA_URL} ./" | sudo tee /etc/apt/sources.list.d/doca.list

sudo apt update
sudo apt install doca-ofed-userspace

# Upgrade to latest NCCL for best compatibility
sudo apt install --only-upgrade --allow-change-held-packages libnccl2 libnccl-dev

安装 NCCL/gIB

根据运行工作负载的位置,您可以在计算实例或容器映像中安装 NCCL/gIB。

nccl-gib 软件包与未修改的 NVidia NCCL 库 (libnccl2.so) 和标头捆绑在一起。所有 NCCL/gIB 内容都安装到 /usr/local/gib 目录中,插件库也安装到系统文件夹(位于 /usr/lib 下)中。一些依赖项也通过分发版的代码库提取。

Debian 12+/Ubuntu 20.04+(.deb 软件包)

# If on an image not from Google, trust the Google Cloud signing key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cloud.google.gpg

# Add gpudirect-gib-apt repo
echo 'deb https://packages.cloud.google.com/apt gpudirect-gib-apt main' | sudo tee /etc/apt/sources.list.d/nccl-gib.list

sudo apt update
sudo apt install nccl-gib

RockyLinux/CentOS/RHEL 9 及更高版本(.rpm 软件包)

# Add gpudirect-gib-rpm repo
sudo tee -a /etc/yum.repos.d/nccl-gib.repo << EOL
[gpudirect-gib-rpm]
name=NCCL/gIB
baseurl=https://packages.cloud.google.com/yum/repos/gpudirect-gib-rpm
enabled=1
repo_gpgcheck=0
gpgcheck=0

sudo dnf makecache
sudo dnf install nccl-gib

安装 NCCL 插件

如需仅安装 gIB NCCL 插件(不含捆绑的 NCCL 库),请安装 nccl-gib-plugins 软件包。如果您使用的是 gIB 随附的 NCCL 版本,则无需单独安装该软件包。不过,如果您提供的是自己的自定义 NCCL 版本,则必须使用此选项来安装插件。

Debian 12+/Ubuntu 20.04+(.deb 软件包)

# If on an image not from Google, trust the Google Cloud signing key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cloud.google.gpg

# Add gpudirect-gib-apt repo
echo 'deb https://packages.cloud.google.com/apt gpudirect-gib-apt main' | sudo tee /etc/apt/sources.list.d/nccl-gib.list

sudo apt update
sudo apt install nccl-gib-plugins

RockyLinux/CentOS/RHEL 9 及更高版本(.rpm 软件包)

# Add gpudirect-gib-rpm repo
sudo tee -a /etc/yum.repos.d/nccl-gib.repo << EOL
[gpudirect-gib-rpm]
name=NCCL/gIB
baseurl=https://packages.cloud.google.com/yum/repos/gpudirect-gib-rpm
enabled=1
repo_gpgcheck=0
gpgcheck=0

sudo dnf makecache
sudo dnf install nccl-gib-plugins

如果您使用的是标准操作系统映像,还必须安装最新的 NVIDIA DOCA-OFED 驱动程序。如果您使用的是 Google 的加速器优化型映像,例如容器操作系统加速器优化型 Ubuntu 或 Rocky Linux 操作系统映像,则无需安装此驱动程序。

为避免计算实例运行不同版本的 NCCL/gIB 软件包,我们建议您在运行 NCCL 工作负载之前更新 NCCL/gIB,或者停用自动软件包更新,例如在 Ubuntu 或 Debian 上运行 unattended-upgrades

启用 NCCL/gIB

从 NCCL/gIB v1.1.2 开始,如果您安装了 nccl-gibnccl-gib-plugins,NCCL/gIB 应该会在您的工作负载中自动启用。

在以前的版本中,如需在工作负载中启用 NCCL/gIB,请确保满足以下条件:

  • /usr/local/gib/scripts/set_nccl_env.sh 来源于您的运行时环境。源文件包含 NCCL/gIB 所需的所有环境变量,Google 希望在未来的 NCCL/gIB 版本中更新这些变量。
  • /usr/local/gib/lib64 目录位于 LD_LIBRARY_PATH 中。

如需验证 NCCL/gIB 是否已启用,请检查是否存在以下 NCCL 信息级日志条目:

# A sample log entry from NCCL core
vm-0:606:642 [6] NCCL INFO Using network gIB

# A sample log entry from the gIB network plugin
vm-0:606:642 [6] NCCL INFO NET/gIB : Initializing gIB v1.1.2

后续步骤