gIB-NCCL-Plug-ins installieren

Auf dieser Seite wird beschrieben, wie Sie NCCL/gIB entweder mit Debian-Software Paketen (.deb) oder mit dem Red Hat Package Manager (.rpm) installieren. Mit dieser Installation können Sie NCCL-Arbeitslasten auf A4X Max-, A4X-, A4- und A3 Ultra-Instanzen ausführen.

(Für A4X Max) Userspace-Bibliotheken aktualisieren

Auf A4X Max müssen Sie die neuesten Userspace-Bibliotheken installieren, bevor Sie Ihre NCCL-Arbeitslasten ausführen.

Debian 12+/Ubuntu 20.04+ (.deb-Paket)

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 installieren

Je nachdem, wo Sie Ihre Arbeitslasten ausführen, installieren Sie NCCL/gIB entweder in der Compute-Instanz oder im Container-Image.

Das Paket nccl-gib wird mit einer unveränderten NVidia NCCL-Bibliothek (libnccl2.so) und Headern gebündelt. Alle NCCL/gIB-Inhalte werden im Verzeichnis /usr/local/gib installiert und die Plug-in-Bibliotheken werden auch im Systemordner (unter /usr/lib) installiert. Einige Abhängigkeiten werden auch über die Repositories der Distribution abgerufen.

Debian 12+/Ubuntu 20.04+ (.deb-Paket)

# 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-Paket)

# 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-Plug-ins installieren

Wenn Sie nur die gIB NCCL-Plug-ins (ohne die gebündelte NCCL-Bibliothek) installieren möchten, installieren Sie das Paket nccl-gib-plugins. Wenn Sie die Version von NCCL verwenden, die mit gIB geliefert wird, müssen Sie das Paket nicht separat installieren. Wenn Sie jedoch Ihre eigene benutzerdefinierte Version von NCCL bereitstellen, müssen Sie diese Option verwenden, um die Plug-ins zu installieren.

Debian 12+/Ubuntu 20.04+ (.deb-Paket)

# 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-Paket)

# 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

Wenn Sie Standard-Betriebssystem-Images verwenden, müssen Sie auch den neuesten NVIDIA DOCA-OFED-Treiber installieren. Dieser Treiber muss nicht installiert werden, wenn Sie von Google optimierte Images für Beschleuniger verwenden, z. B. Container-Betriebssystem oder für Beschleuniger optimierte Ubuntu- oder Rocky Linux-Betriebssystem-Images.

Damit auf Compute-Instanzen nicht verschiedene Versionen des NCCL/gIB-Pakets ausgeführt werden, empfehlen wir, NCCL/gIB zu aktualisieren, bevor Sie Ihre NCCL-Arbeitslasten ausführen, oder automatische Paketaktualisierungen zu deaktivieren, z. B. unattended-upgrades unter Ubuntu oder Debian.

NCCL/gIB aktivieren

Ab NCCL/gIB Version 1.1.2 sollte NCCL/gIB automatisch in Ihren Arbeitslasten aktiviert werden, wenn Sie nccl-gib oder nccl-gib-plugins installiert haben.

In früheren Versionen müssen Sie Folgendes beachten, um NCCL/gIB in Ihren Arbeitslasten zu aktivieren:

  • /usr/local/gib/scripts/set_nccl_env.sh wird in Ihrer Laufzeitumgebung verwendet. Die Quelldatei enthält alle erforderlichen Umgebungsvariablen für NCCL/gIB. Google plant, diese in zukünftigen NCCL/gIB-Versionen zu aktualisieren.
  • Das Verzeichnis /usr/local/gib/lib64 befindet sich in Ihrem LD_LIBRARY_PATH.

Prüfen Sie, ob die folgenden NCCL-Logeinträge auf INFO-Ebene vorhanden sind, um zu bestätigen, dass NCCL/gIB aktiviert ist:

# 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

Nächste Schritte