Installer les plug-ins gIB NCCL

Cette page explique comment installer NCCL/gIB avec des packages logiciels Debian (.deb) ou le gestionnaire de packages Red Hat (.rpm). Cette installation vous permet d'exécuter des charges de travail NCCL sur des instances A4X Max, A4X, A4 et A3 Ultra.

(Pour A4X Max) Mettre à jour les bibliothèques de l'espace utilisateur

Sur A4X Max, vous devez installer les dernières bibliothèques de l'espace utilisateur avant d'exécuter vos charges de travail NCCL.

Debian 12+/Ubuntu 20.04+ (package .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

Installer NCCL/gIB

Selon l'endroit où vous exécutez vos charges de travail, vous installez NCCL/gIB dans l'instance de calcul ou dans l'image de conteneur.

Le package nccl-gib est fourni avec une bibliothèque NVidia NCCL non modifiée (libnccl2.so) et des en-têtes. Tout le contenu NCCL/gIB est installé dans le répertoire /usr/local/gib, et les bibliothèques de plug-ins sont également installées dans le dossier système (sous /usr/lib). Certaines dépendances sont également récupérées via les dépôts de la distribution.

Debian 12+/Ubuntu 20.04+ (package .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+ (package .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

Installer les plug-ins NCCL

Pour n'installer que les plug-ins gIB NCCL (sans la bibliothèque NCCL groupée), installez le package nccl-gib-plugins. Si vous utilisez la version de NCCL fournie avec gIB, vous n'avez pas besoin d'installer le package séparément. Toutefois, si vous fournissez votre propre version personnalisée de NCCL, vous devez utiliser cette option pour installer les plug-ins.

Debian 12+/Ubuntu 20.04+ (package .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+ (package .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

Si vous utilisez des images d'OS standards, vous devez également installer le dernier pilote NVIDIA DOCA-OFED. Vous n'avez pas besoin d'installer ce pilote si vous utilisez des images optimisées pour les accélérateurs de Google, telles que les images d'OS Container ou Ubuntu ou Rocky Linux optimisées pour les accélérateurs.

Pour éviter que les instances de calcul n'exécutent différentes versions du package NCCL/gIB, nous vous recommandons de mettre à jour NCCL/gIB avant d'exécuter vos charges de travail NCCL ou de désactiver les mises à jour automatiques des packages, par exemple unattended-upgrades sur Ubuntu ou Debian.

Activer NCCL/gIB

À partir de NCCL/gIB v1.1.2, si vous avez installé nccl-gib ou nccl-gib-plugins, NCCL/gIB devrait être automatiquement activé dans vos charges de travail.

Dans les versions précédentes, pour activer NCCL/gIB dans vos charges de travail, assurez-vous des points suivants :

  • /usr/local/gib/scripts/set_nccl_env.sh est la source de votre environnement d'exécution. Le fichier source inclut toutes les variables d'environnement nécessaires pour NCCL/gIB, et Google prévoit de les mettre à jour dans les futures versions de NCCL/gIB.
  • Le répertoire /usr/local/gib/lib64 se trouve dans votre LD_LIBRARY_PATH.

Pour vérifier que NCCL/gIB est activé, assurez-vous que les entrées de journalisation de niveau INFO NCCL suivantes sont présentes :

# 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

Étape suivante