Menginstal plugin gIB NCCL

Halaman ini menjelaskan cara menginstal NCCL/gIB dengan Paket Software Debian (.deb) atau Red Hat Package Manager (.rpm). Penginstalan ini memungkinkan Anda menjalankan workload NCCL di instance A4X Max, A4X, A4, dan A3 Ultra.

(Untuk A4X Max) Perbarui library ruang pengguna

Di A4X Max, Anda harus menginstal library ruang pengguna terbaru sebelum menjalankan beban kerja NCCL.

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

Instal NCCL/gIB

Bergantung pada tempat Anda menjalankan workload, Anda menginstal NCCL/gIB di instance komputasi atau image container.

Paket nccl-gib dipaketkan dengan library NVidia NCCL yang tidak dimodifikasi (libnccl2.so) dan header. Semua konten NCCL/gIB diinstal ke direktori /usr/local/gib, dan library plugin juga diinstal ke folder sistem (di /usr/lib). Beberapa dependensi juga diambil melalui repositori distribusi.

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

Menginstal plugin NCCL

Untuk menginstal hanya plugin gIB NCCL (tanpa library NCCL yang di-bundle), instal paket nccl-gib-plugins. Jika Anda menggunakan versi NCCL yang disertakan dengan gIB, Anda tidak perlu menginstal paket secara terpisah. Namun, jika Anda menyediakan NCCL versi kustom sendiri, Anda harus menggunakan opsi ini untuk menginstal plugin.

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

Jika menggunakan image OS standar, Anda juga harus menginstal driver NVIDIA DOCA-OFED terbaru. Anda tidak perlu menginstal driver ini jika menggunakan image yang dioptimalkan untuk akselerator Google, seperti Container OS atau image OS Ubuntu atau Rocky Linux yang dioptimalkan untuk akselerator.

Untuk menghindari instance komputasi yang menjalankan paket NCCL/gIB versi yang berbeda, sebaiknya update NCCL/gIB sebelum menjalankan workload NCCL atau nonaktifkan update paket otomatis, misalnya unattended-upgrades di Ubuntu atau Debian.

Mengaktifkan NCCL/gIB

Mulai dari NCCL/gIB v1.1.2, jika Anda menginstal nccl-gib atau nccl-gib-plugins, NCCL/gIB akan otomatis diaktifkan di workload Anda.

Pada versi sebelumnya, untuk mengaktifkan NCCL/gIB di beban kerja Anda, pastikan hal berikut:

  • /usr/local/gib/scripts/set_nccl_env.sh bersumber di lingkungan runtime Anda. File sumber mencakup semua variabel lingkungan yang diperlukan untuk NCCL/gIB dan Google berharap untuk memperbaruinya dalam rilis NCCL/gIB mendatang.
  • Direktori /usr/local/gib/lib64 ada di LD_LIBRARY_PATH Anda.

Untuk memverifikasi bahwa NCCL/gIB diaktifkan, periksa apakah ada entri log tingkat INFO NCCL berikut:

# 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

Langkah berikutnya