Instala complementos de NCCL de gIB

En esta página, se describe cómo instalar NCCL/gIB con paquetes de software de Debian (.deb) o el administrador de paquetes de Red Hat (.rpm). Esta instalación te permite ejecutar cargas de trabajo de NCCL en instancias A4X Max, A4X, A4 y A3 Ultra.

(Para A4X Max) Actualiza las bibliotecas del espacio de usuario

En A4X Max, debes instalar las bibliotecas del espacio de usuario más recientes antes de ejecutar tus cargas de trabajo de NCCL.

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

Instala NCCL/gIB

Según dónde ejecutes tus cargas de trabajo, instalarás NCCL/gIB en la instancia de procesamiento o en la imagen de contenedor.

El paquete nccl-gib se incluye con una biblioteca de NVidia NCCL sin modificar (libnccl2.so) y encabezados. Todo el contenido de NCCL/gIB se instala en el directorio /usr/local/gib, y las bibliotecas de complementos también se instalan en la carpeta del sistema (en /usr/lib). Algunas dependencias también se recuperan a través de los repositorios de la distribución.

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

Instala complementos de NCCL

Para instalar solo los complementos de gIB NCCL (sin la biblioteca de NCCL incluida), instala el paquete nccl-gib-plugins. Si usas la versión de NCCL que viene con gIB, no necesitas instalar el paquete por separado. Sin embargo, si proporcionas tu propia versión personalizada de NCCL, debes usar esta opción para instalar los complementos.

Debian 12+/Ubuntu 20.04+ (paquete .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+ (paquete .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 usas imágenes de SO estándar, también debes instalar el controlador de NVIDIA DOCA-OFED más reciente . No es necesario que instales este controlador si usas imágenes optimizadas para aceleradores de Google, como imágenes de SO de Container OS o imágenes de SO de Ubuntu o Rocky Linux optimizadas para aceleradores.

Para evitar que las instancias de procesamiento ejecuten diferentes versiones del paquete NCCL/gIB, te recomendamos que actualices NCCL/gIB antes de ejecutar tus cargas de trabajo de NCCL o inhabilites las actualizaciones automáticas de paquetes, por ejemplo, unattended-upgrades en Ubuntu o Debian.

Habilita NCCL/gIB

A partir de NCCL/gIB v1.1.2, si instalaste nccl-gib o nccl-gib-plugins, NCCL/gIB debería habilitarse automáticamente en tus cargas de trabajo.

En versiones anteriores, para habilitar NCCL/gIB en tus cargas de trabajo, asegúrate de lo siguiente:

  • Se incluye /usr/local/gib/scripts/set_nccl_env.sh en tu entorno de ejecución. El archivo fuente incluye todas las variables de entorno necesarias para NCCL/gIB, y Google espera actualizarlas en versiones futuras de NCCL/gIB.
  • El directorio /usr/local/gib/lib64 está en tu LD_LIBRARY_PATH.

Para verificar que NCCL/gIB esté habilitado, comprueba que estén presentes las siguientes entradas de registro de nivel INFO de 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

¿Qué sigue?