במסגרות עבודה מודרניות של למידת מכונה נעשה לעיתים קרובות שימוש בספריית התקשורת הקולקטיבית של NVIDIA (NCCL) לפרימיטיבים של תקשורת בין GPU ל-GPU.
הגרסה המשופרת של NCCL מבית Google נקראת NCCL/gIB והיא זמינה במכונות וירטואליות (VM) מסוג A3 Ultra, A4 ו-A4X של Google Cloud. NCCL/gIB הוא לרוב יעיל יותר מ-NCCL במעלה הזרם בתשתית של Google. הביצועים של NCCL יכולים להשפיע על הביצועים הכוללים של עומס העבודה, ולכן מומלץ להשתמש ב-NCCL/gIB.
NCCL/gIB מכיל תכונות ואופטימיזציות ספציפיות ל-Google, כמו:
- תוסף הרשת gIB מציע איזון עומסים משופר ברשתות של Google, וכתוצאה מכך, תפוקה גבוהה וזמן אחזור נמוך באופן עקבי יותר במהלך פעולות משותפות.
- תוסף מותאם אישית לכוונון, שבוחר את אפשרויות הכוונון הטובות ביותר ב Google Cloud מכונות וירטואליות.
- תוסף פרופיל CoMMA מספק מדדי ביצועים מפורטים ונתוני אבחון של עומס העבודה.
- הפלאגין env מספק הגדרות משתנים ספציפיות לפלטפורמה במכונות וירטואליות של Google Cloud .
ארכיטקטורת NCCL/gIB
NCCL/gIB פועל באינטראקציה עם מסגרת למידת המכונה והמעבדים הגרפיים (GPU) של NVIDIA באשכולות כדי לשפר את הביצועים ולאסוף נתוני טלמטריה, כפי שמוצג בתרשים הבא:

היתרונות של שימוש ב-NCCL/gIB
אפשר להשתמש בספריית התקשורת של NVIDIA Collective במכונות וירטואליות Google Cloud בלי בעיות יציבות, אבל NCCL/gIB מותאם יותר ל- Google Cloud והפער בביצועים יכול להיות משמעותי מאוד בדפוסי תקשורת מסוימים, גם עם אותם פרמטרים של NCCL.
לדוגמה, בגרף הבא מוצגת השוואה בין NCCL/gIB לבין NCCL במעלה הזרם בביצועים של AllReduce. הביצועים של NCCL/gIB טובים עד פי 12 מהביצועים של NCCL במעלה הזרם בגדלים מסוימים של הודעות.

ביצועים של NCCL AllReduce עם 32 צמתים באמצעות A3 Ultra (H200) ללא תנועה ברקע.
באופן דומה, בהשוואה בין NCCL/gIB לבין NCCL במעלה הזרם בביצועים של AllGather עם תנועת נתונים ברקע, NCCL/gIB עדיף על NCCL במעלה הזרם בכ-50% בגדלים גדולים יותר של הודעות, כפי שמוצג בתרשים הזה.

ביצועים של 32 צמתים ב-NCCL AllGather באמצעות A3 Ultra (H200) ברשת משותפת עם רעשי רקע.
בנוסף, הפלאגין CoMMA profiler מספק ל-Google טלמטריה מותאמת אישית משופרת, שמאפשרת לנו לעזור לכם טוב יותר אם מתעוררת בעיה ברמת עומס העבודה.
התקנה של NCCL/gIB
לפני שמריצים בדיקות של NCCL, צריך להתקין NCCL/gIB בסביבת זמן הריצה.
שימוש ב-NCCL/gIB
כדי להריץ בדיקות NCCL/gIB באשכול, בוחרים את הדף מהרשימה הבאה שהכי מתאים לדרישות שלכם:
- שימוש בתוספים של gIB NCCL בקונטיינרים של NVIDIA NGC
- הרצת בדיקות NCCL במכונות וירטואליות של Compute Engine
- הרצת NCCL באשכולות GKE שמשתמשים ב-Cluster Toolkit
- הרצת NCCL באשכולות GKE שמשתמשים ב-A4X
- הרצת NCCL באשכולות GKE שמשתמשים ב-A4 או ב-A3 Ultra
- הרצת בדיקות NCCL באשכולות Slurm
- הרצת בדיקות NCCL ב-Cluster Director