בדף הזה מוסבר איך להתקין את 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
המאמרים הבאים
- שימוש בתוספים של gIB NCCL בקונטיינרים של NVIDIA NGC
- הפעלת NCCL במכונות של Compute Engine.
- איסוף והבנה של יומני NCCL לצורך פתרון בעיות