התקנת פלאגינים של gIB NCCL

בדף הזה מוסבר איך להתקין את NCCL/gIB באמצעות חבילות תוכנה של Debian ‏ (.deb) או Red Hat Package Manager ‏ (.rpm). ההתקנה הזו מאפשרת להריץ עומסי עבודה של NCCL במופעים מסוג A4X Max,‏ A4X,‏ A4 ו-A3 Ultra.

(ל-A4X Max) עדכון ספריות במרחב המשתמש

ב-A4X Max, צריך להתקין את הספריות העדכניות ביותר של מרחב המשתמש לפני שמריצים את עומסי העבודה של NCCL.

‫Debian 12+‎/Ubuntu 20.04+‎ (חבילת ‎.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

התקנה של NCCL/gIB

בהתאם למקום שבו מריצים את עומסי העבודה, מתקינים את NCCL/gIB במופע החישוב או בתמונת הקונטיינר.

חבילת nccl-gib כוללת ספרייה וכותרות של NVidia NCCL שלא עברו שינוי (libnccl2.so). כל התוכן של NCCL/gIB מותקן בספרייה /usr/local/gib, וספריות הפלאגין מותקנות גם בתיקיית המערכת (בספרייה /usr/lib). חלק מהרכיבים התלויים נשלפים גם ממאגרי ההפצה.

‫Debian 12+‎/Ubuntu 20.04+‎ (חבילת ‎.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+‎ (חבילת ‎.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

התקנת פלאגינים של NCCL

כדי להתקין רק את הפלאגינים של gIB NCCL (בלי ספריית NCCL בחבילה), צריך להתקין את חבילת nccl-gib-plugins. אם אתם משתמשים בגרסה של NCCL שמגיעה עם gIB, אתם לא צריכים להתקין את החבילה בנפרד. עם זאת, אם אתם מספקים גרסה מותאמת אישית משלכם של NCCL, אתם צריכים להשתמש באפשרות הזו כדי להתקין את הפלאגינים.

‫Debian 12+‎/Ubuntu 20.04+‎ (חבילת ‎.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+‎ (חבילת ‎.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

אם אתם משתמשים בתמונות של מערכת הפעלה רגילה, אתם צריכים גם להתקין את הדרייבר העדכני של NVIDIA DOCA-OFED. אין צורך להתקין את הדרייבר הזה אם משתמשים בקובצי אימג' של מאיצים מבית Google, כמו Container OS או קובצי אימג' של מערכות הפעלה מסוג Ubuntu או Rocky Linux שמותאמים למאיצים.

כדי למנוע הפעלה של מופעי מחשוב עם גרסאות שונות של חבילת NCCL/gIB, מומלץ לעדכן את NCCL/gIB לפני שמריצים את עומסי העבודה של NCCL, או להשבית את העדכונים האוטומטיים של החבילות, למשל unattended-upgrades ב-Ubuntu או ב-Debian.

הפעלת NCCL/gIB

החל מ-NCCL/gIB גרסה 1.1.2, אם התקנתם את nccl-gib או את nccl-gib-plugins, ‏ NCCL/gIB אמור להיות מופעל באופן אוטומטי בעומסי העבודה שלכם.

בגרסאות קודמות, כדי להפעיל NCCL/gIB בעומסי העבודה, צריך לוודא את הדברים הבאים:

  • הפעולה /usr/local/gib/scripts/set_nccl_env.sh מגיעה מסביבת זמן הריצה. קובץ המקור כולל את כל משתני הסביבה הנדרשים עבור NCCL/gIB, ו-Google צפויה לעדכן אותם במהדורות עתידיות של NCCL/gIB.
  • הספרייה /usr/local/gib/lib64 נמצאת ב-LD_LIBRARY_PATH.

כדי לוודא ש-NCCL/gIB מופעל, בודקים שקיימים רשומות היומן הבאות ברמת המידע של 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

המאמרים הבאים