Installare i plug-in gIB NCCL

Questa pagina descrive come installare NCCL/gIB con i pacchetti software Debian (.deb) o Red Hat Package Manager (.rpm). Questa installazione ti consente di eseguire carichi di lavoro NCCL su istanze A4X Max, A4X, A4 e A3 Ultra.

(Per A4X Max) Aggiorna le librerie dello spazio utente

Su A4X Max, devi installare le librerie dello spazio utente più recenti prima di eseguire i carichi di lavoro NCCL.

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

Installa NCCL/gIB

A seconda di dove esegui i carichi di lavoro, installa NCCL/gIB nell'istanza di calcolo o nell'immagine container.

Il pacchetto nccl-gib è incluso in un'intestazione e in una libreria NCCL NVidia non modificata (libnccl2.so). Tutti i contenuti NCCL/gIB vengono installati nella directory /usr/local/gib e le librerie dei plug-in vengono installate anche nella cartella di sistema (in /usr/lib). Alcune dipendenze vengono recuperate anche tramite i repository della distribuzione.

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

Installa i plug-in NCCL

Per installare solo i plug-in gIB NCCL (senza la libreria NCCL in bundle), installa il pacchetto nccl-gib-plugins. Se utilizzi la versione di NCCL fornita con gIB, non devi installare il pacchetto separatamente. Tuttavia, se fornisci la tua versione personalizzata di NCCL, devi utilizzare questa opzione per installare i plug-in.

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

Se utilizzi immagini del sistema operativo standard, devi anche installare il driver NVIDIA DOCA-OFED più recente . Non è necessario installare questo driver se utilizzi le immagini ottimizzate per gli acceleratori di Google, come Container OS o immagini del sistema operativo Ubuntu o Rocky Linux ottimizzate per gli acceleratori.

Per evitare che le istanze di calcolo eseguano versioni diverse del pacchetto NCCL/gIB, ti consigliamo di aggiornare NCCL/gIB prima di eseguire i carichi di lavoro NCCL o di disattivare gli aggiornamenti automatici dei pacchetti, ad esempio unattended-upgrades su Ubuntu o Debian.

Attiva NCCL/gIB

A partire da NCCL/gIB v1.1.2, se hai installato nccl-gib o nccl-gib-plugins, NCCL/gIB dovrebbe essere attivato automaticamente nei tuoi carichi di lavoro.

Nelle versioni precedenti, per attivare NCCL/gIB nei carichi di lavoro, assicurati di quanto segue:

  • Viene eseguito il sourcing di /usr/local/gib/scripts/set_nccl_env.sh nell'ambiente di runtime. Il file di origine include tutte le variabili di ambiente necessarie per NCCL/gIB e Google prevede di aggiornarle nelle release future di NCCL/gIB.
  • La directory /usr/local/gib/lib64 si trova in LD_LIBRARY_PATH.

Per verificare che NCCL/gIB sia attivato, controlla che siano presenti le seguenti voci di log a livello INFO di 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

Passaggi successivi