Nesta página, descrevemos como instalar
o NCCL/gIB com pacotes de software Debian (.deb) ou o Red Hat Package Manager (.rpm). Essa instalação
permite executar cargas de trabalho do NCCL em instâncias A4X Max, A4X, A4 e A3 Ultra.
(Para A4X Max) Atualizar bibliotecas do espaço do usuário
No A4X Max, é necessário instalar as bibliotecas mais recentes do espaço do usuário antes de executar as cargas de trabalho do NCCL.
Debian 12+/Ubuntu 20.04+ (pacote .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
Instalar o NCCL/gIB
Dependendo de onde você executa as cargas de trabalho, instale o NCCL/gIB na instância de computação ou na imagem do contêiner.
O pacote nccl-gib é fornecido com uma biblioteca NVidia NCCL não modificada (libnccl2.so) e cabeçalhos. Todo o conteúdo do NCCL/gIB é instalado no diretório /usr/local/gib, e as bibliotecas de plug-ins também são instaladas na pasta do sistema (em /usr/lib). Algumas dependências também são buscadas nos repositórios da distribuição.
Debian 12+/Ubuntu 20.04+ (pacote .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+ (pacote .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
Instalar plug-ins do NCCL
Para instalar apenas os plug-ins gIB NCCL (sem a biblioteca NCCL incluída), instale o pacote nccl-gib-plugins. Se você estiver usando a versão do NCCL que acompanha o gIB, não será necessário instalar o pacote separadamente. No entanto, se você estiver fornecendo sua própria versão personalizada do NCCL, use essa opção para instalar os plug-ins.
Debian 12+/Ubuntu 20.04+ (pacote .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+ (pacote .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 você estiver usando imagens de SO padrão, também será necessário instalar o driver NVIDIA DOCA-OFED mais recente. Não é necessário instalar esse driver se você estiver usando imagens otimizadas para aceleradores do Google, como SO Container ou imagens do SO Ubuntu ou Rocky Linux otimizadas para aceleradores.
Para evitar que instâncias de computação executem versões diferentes do pacote NCCL/gIB, recomendamos atualizar o NCCL/gIB antes de executar as cargas de trabalho do NCCL ou desativar as atualizações automáticas de pacotes, por exemplo, unattended-upgrades no Ubuntu ou Debian.
Ativar o NCCL/gIB
A partir do NCCL/gIB v1.1.2, se você instalou nccl-gib ou
nccl-gib-plugins, o NCCL/gIB será ativado automaticamente nas cargas de trabalho.
Em versões anteriores, para ativar o NCCL/gIB nas cargas de trabalho, verifique o seguinte:
/usr/local/gib/scripts/set_nccl_env.shé originado no ambiente de execução. O arquivo de origem inclui todas as variáveis de ambiente necessárias para o NCCL/gIB, e o Google espera atualizá-las em versões futuras do NCCL/gIB.- O diretório
/usr/local/gib/lib64está no seuLD_LIBRARY_PATH.
Para verificar se o NCCL/gIB está ativado, confira se as seguintes entradas de registro de nível INFO do NCCL estão presentes:
# 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
A seguir
- Usar plug-ins gIB NCCL em contêineres NVIDIA NGC.
- Executar o NCCL em instâncias do Compute Engine.
- Coletar e entender os registros do NCCL para solução de problemas.