יצירת קמפיין A4X למיגרציה שעבר אופטימיזציה באמצעות AI

במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת בסוגי מכונות A4X. מידע נוסף על סוג המכונה הזה שעבר אופטימיזציה לשימוש במאיצים זמין במאמר A4X.

אם רוצים לנהל כמה מכונות וירטואליות (VM) כישות אחת, צריך ליצור קבוצה של מופעי מכונה מנוהלים (MIG). למידע נוסף על קבוצות של מכונות מנוהלות, אפשר לעיין במאמר בנושא קבוצות של מכונות מנוהלות במאמרי העזרה של Compute Engine.

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

מגבלות

כשיוצרים MIG עם מכונות וירטואליות מסוג A4X, חשוב להביא בחשבון את המגבלות של סוג המכונה ושל ה-MIG.

מגבלות על מכונות וירטואליות מסוג A4X

ההגבלות הבאות חלות על מכונות ספציפיות:

מגבלות על MIG

כשמשתמשים בסוגי מכונות A4X כדי ליצור MIG, חלות המגבלות הבאות:

+ אם יוצרים קבוצת MIG אזורית שמשתמשת ברשת RDMA, קבוצת ה-MIG יכולה ליצור רק מכונות וירטואליות מסוג A4X באזור שבו הגדרתם את פרופיל הרשת ל-RDMA.

  • חובה להשתמש במודל ההקצאה reservation-bound. אין תמיכה במודלים אחרים של הקצאת הרשאות.

  • אי אפשר להשתמש בבקשת שינוי גודל כדי להוסיף מכונות וירטואליות מסוג A4X ל-MIG. כדי להוסיף את המופעים, צריך להגדיר את גודל היעד של ה-MIG.

לפני שמתחילים

לפני שיוצרים קבוצת מופעים מנוהלת, אם עדיין לא עשיתם את זה, צריך לבצע את השלבים הבאים:

  1. בחירת אפשרות צריכה: האפשרות שתבחרו לצריכה תקבע איך תקבלו משאבי GPU ותשתמשו בהם. מידע נוסף זמין במאמר בנושא בחירת אפשרות צריכה.
  2. קבלת קיבולת: התהליך לקבלת קיבולת שונה לכל אפשרות צריכה. כדי לקבל מידע על התהליך להשגת קיבולת לאפשרות הצריכה שבחרתם, אפשר לעיין במאמר סקירה כללית על קיבולת.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת קבוצת מופעים מנוהלת (MIG), צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת קבוצת מופעים מנוהלת (MIG). כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי ליצור קבוצת מופעים מנוהלת (MIG), צריך את ההרשאות הבאות:

  • כדי ליצור קבוצת MIG: compute.instanceGroupManagers.create בפרויקט

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

היסודות של A4X

אשכול A4X מאורגן בהיררכיה של בלוקים ותת-בלוקים כדי לאפשר ביצועים של רשתות גדולות ללא חסימה. הבנת הטופולוגיה הזו היא חיונית כשמזמינים קיבולת ומפריסים עומסי עבודה.

מופע A4X
מכונת A4X היא סוג מכונה יחיד של A4X עם 4 מעבדי GPU מצורפים.
Sub-block
תת-בלוק הוא היחידה הבסיסית של קיבולת A4X. ב-A4X, תת-בלוק מורכב מ-18 מכונות A4X (72 יחידות GPU). המכונות האלה יוצרות דומיין NVLink ומחוברות באמצעות מערכת NVLink מרובת צמתים. כדי ליצור תת-בלוק A4X, צריך להחיל מדיניות של עומס עבודה שמציינת טופולוגיה של 1x72.
חסימה
בלוק A4X מורכב מ-25 בלוקים משנה (דומיינים של NVLink), בסך הכול עד 450 מכונות A4X ‏ (1,800 יחידות GPU). תתי-הבלוקים בארכיטקטורת rail-aligned כדי לאפשר התאמה לעומס יעילה. כל בלוק משנה דורש MIG. לכן, אפשר ליצור 25 קבוצות של מכונות וירטואליות מנוהלות (MIG) לכל בלוק A4X.

בטבלה הבאה מפורטות אפשרויות הטופולוגיה הנתמכות עבור מופעי A4X:

טופולוגיה (acceleratorTopology) מספר יחידות ה-GPU מספר המופעים
1x72 72 18

סקירה כללית

יצירת MIG עם סוג המכונה A4X כוללת את השלבים הבאים:

  1. יצירת רשתות VPC
  2. יצירת מדיניות של עומס עבודה
  3. יצירת תבנית של הגדרות מכונה
  4. יצירת קבוצת מופעי מכונה מנוהלים (MIG)
  5. התקנת דרייברים של GPU
  6. אופציונלי: הפעלת מצב NVIDIA Multi-Instance GPU

יצירת רשתות VPC

כדי להגדיר את הרשת לסוגי מכונות A4X, צריך ליצור שלוש רשתות VPC לממשקי הרשת הבאים:

  • ‫2 רשתות VPC רגילות לממשקי הרשת (NIC) של gVNIC. לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין המארחים.
  • רשת VPC אחת עם פרופיל רשת RoCE עבור כרטיסי רשת מסוג CX-7 כשיוצרים כמה תת-בלוקים של A4X. רשת ה-VPC של RoCE למכונות וירטואליות צריכה לכלול 4 תת-רשתות, תת-רשת אחת לכל כרטיס רשת CX-7. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet ‏ (RoCE), ומספקים את התקשורת עם רוחב הפס הגבוה וההשהיה הנמוכה שחיוניים להרחבת קנה המידה למספר תת-בלוקים של A4X.

מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.

אפשר ליצור את הרשתות באופן ידני לפי מדריכי ההוראות, או באופן אוטומטי באמצעות הסקריפט שסופק.

מדריכים להוראות

כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:

ברשתות ה-VPC האלה, מגדירים את יחידת השידור המקסימלית (MTU) לערך גדול יותר. עבור סוגי מכונות A4X, ה-MTU המומלץ הוא 8896 בייט. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.

Script

כדי ליצור את הרשתות, פועלים לפי השלבים הבאים.

ברשתות ה-VPC האלה, מגדירים את יחידת השידור המקסימלית (MTU) לערך גדול יותר. עבור סוגי מכונות A4X, ה-MTU המומלץ הוא 8896 בייט. כדי לבדוק את הגדרות ה-MTU המומלצות לסוגים אחרים של מכונות GPU, אפשר לעיין במאמר בנושא הגדרות MTU לסוגים של מכונות GPU.

  1. אפשר להשתמש בסקריפט הבא כדי ליצור רשתות VPC רגילות עבור gVNIC.

    
    
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=192.168.$N.0/24
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=192.168.0.0/16
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
    
          
  2. אם אתם צריכים כמה תת-בלוקים של A4X, אתם יכולים להשתמש בסקריפט הבא כדי ליצור את רשת ה-VPC של RoCE למכונות וירטואליות (roce) ותת-רשתות לארבעת כרטיסי ה-NIC של CX-7 בכל מכונת A4X.

    
    
        #!/bin/bash
    
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for RDMA NICs
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 3); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=192.168.$((N+2)).0/24 # offset to avoid overlap with gVNICs
        done
    
    
          
  3. מחליפים את מה שכתוב בשדות הבאים:

    • GVNIC_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשתות ולתת-רשתות רגילות של VPC עבור gVNIC.
    • RDMA_NAME_PREFIX: התחילית של השם המותאם אישית שמשמשת לרשת ה-VPC של RoCE למכונות וירטואליות (roce) ולתת-רשתות לכרטיסי ה-NIC של CX-7.
    • ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין, למשל us-central1-a. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה צריך להתאים לאזור שצוין. לדוגמה, אם האזור הוא us-central1-a, האזור הוא us-central1.
    • IP_RANGE: טווח כתובות ה-IP לשימוש בכללים של חומת האש של SSH.
  4. אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
    1. נכנסים לדף VPC networks במסוף Google Cloud .

      מעבר לרשתות VPC

    2. מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
    3. כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.

יצירת תבנית של הגדרות מכונה

כדי לציין את מאפייני ה-VM של קבוצת MIG, יוצרים תבנית של הגדרות מכונה.

כדי ליצור תבנית של הגדרות מכונה, בוחרים אחת מהאפשרויות הבאות.

הפקודות הבאות מגדירות גם את היקף הגישה של המופעים. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במופע לגישת cloud-platform ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המופע יכול לגשת. מידע נוסף זמין במאמר בנושא שיטות מומלצות לשימוש בהיקפים.

gcloud

כדי ליצור תבנית של הגדרות מכונה אזורית, משתמשים בפקודה gcloud compute instance-templates create.

מופעי A4X תומכים בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד ב-AI Hypercomputer
  • הזמנות עתידיות במצב יומן

כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=a4x-highgpu-4g \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address 
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
  • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
  • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
  • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
  • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
  • RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
  • RESERVATION: שם ההזמנה, הבלוק או תת-הבלוק בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעי A4X בכל בלוק יחיד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מופעי A4X בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מופעים של A4X בתת-בלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

REST

כדי ליצור תבנית של הגדרות מכונה אזורית, שולחים בקשת POST אל ה-method‏ regionInstanceTemplates.insert.

מופעי A4X תומכים בסוגי ההזמנות הבאים:

  • מקומות שמורים לעתיד ב-AI Hypercomputer
  • הזמנות עתידיות במצב יומן

כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "a4x-highgpu-4g",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "hyperdisk-balanced",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "SPECIFIC_RESERVATION",
        "key": "compute.googleapis.com/reservation-name",
        "values": [
          "RESERVATION"
        ]
      },
    "scheduling": {
        "provisioningModel": "RESERVATION_BOUND",
        "instanceTerminationAction": "DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart": true
      }
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_TEMPLATE_NAME: השם של תבנית של הגדרות מכונה.
  • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
  • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
  • REGION: האזור שבו רוצים ליצור את תבנית של הגדרות מכונה. מציינים אזור שבו זמין סוג המכונה שרוצים להשתמש בו. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
  • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
  • NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת.
  • GVNIC_NAME_PREFIX: תוספת השם שציינתם כשאתם יוצרים את רשתות ה-VPC הרגילות ואת רשתות המשנה שמשתמשות בממשקי רשת gVNIC.
  • REGION: האזור של רשת המשנה.
  • RDMA_NAME_PREFIX: תחילית השם שציינתם כשייצרתם את רשתות ה-VPC ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA.
  • RESERVATION: שם ההזמנה, הבלוק או תת-הבלוק בהזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, אפשר לעיין במאמר בנושא הצגת קיבולת מוזמנת. בהתאם לדרישות שלכם לגבי מיקום המופע, בוחרים באחת מהאפשרויות הבאות:
    • כדי ליצור מופעי A4X בכל בלוק יחיד:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • כדי ליצור מופעי A4X בבלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • כדי ליצור מופעים של A4X בתת-בלוק ספציפי:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

יצירת קבוצת מופעים מנוהלת (MIG)

כשמשתמשים בסוג מכונה A4X, צריך ליצור MIG ולציין את גודל היעד שלו.

כדי לקבל טופולוגיית GPU של 1x72, צריך ליצור MIG עם 18 מכונות A4X. כשיוצרים את ה-MIG, מחילים את מדיניות העומס שמציינת את השדה acceleratorTopology. החלת המדיניות מבטיחה ש-Compute Engine ייצור את כל 18 המכונות מסוג A4X בתת-בלוק אחד כדי להשתמש בדומיין NVLink. אם אין מספיק קיבולת בתת-בלוק לכל 18 המופעים, כל מופע מנוהל שלא ניתן ליצור באופן מיידי יישאר במצב CREATING עד שתהיה קיבולת זמינה. המכונות המנוהלות האלה מייצגות את מכונות החישוב שקבוצת ה-MIG יוצרת כשיש קיבולת.

כשמחילים מדיניות של עומס עבודה עם השדה acceleratorTopology שמוגדר לערך 1x72, אי אפשר ליצור יותר מ-18 מופעי A4X ב-MIG. אם מציינים יותר מ-18 מופעים, יצירת ה-MIG תיכשל. כדי ליצור כמה דומיינים של NVLink, צריך ליצור קבוצת MIG נפרדת לכל דומיין ולהחיל את אותה מדיניות עומס עבודה על כל קבוצת MIG.

כדי ליצור קבוצת מופעים מנוהלת, בוחרים באחת מהאפשרויות הבאות:

gcloud

כדי ליצור קבוצת MIG עם גודל יעד מוגדר, משתמשים בפקודה instance-groups managed create.

כדי ליצור קבוצת MIG אזורית או אזורית:

  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • כדי ליצור קבוצת MIG אזורית, משתמשים בפקודה הבאה:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
מחליפים את מה שכתוב בשדות הבאים:
  • MIG_NAME: השם של ה-MIG.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: מספר המופעים שרוצים בקבוצת המופעים המנוהלת. בטופולוגיית המאיץ של 1x72, מגדירים את גודל היעד ל-18.
  • WORKLOAD_POLICY_URL: כתובת ה-URL של מדיניות עומס העבודה – לדוגמה, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.
  • ZONE: האזור שבו רוצים ליצור את ה-MIG. מציינים אזור בתוך האזור של מדיניות עומס העבודה.
  • REGION: האזור שבו רוצים ליצור את ה-MIG. מציינים את אותו אזור כמו זה של מדיניות עומס העבודה. במקום אזור, אפשר לציין את התחומים באזור מסוים של MIG אזורי באמצעות הדגל --zones.

REST

כדי ליצור קבוצת MIG עם גודל יעד מוגדר, שולחים בקשת POST.

כדי ליצור קבוצת MIG אזורית או אזורית:

  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST אל ה-method‏ instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "targetSize": TARGET_SIZE,
      "resourcePolicies": {
        "workloadPolicy": "WORKLOAD_POLICY_URL"
      }
    }
    
  • כדי ליצור קבוצת MIG אזורית, שולחים בקשת POST אל ה-method‏ regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": TARGET_SIZE,
        "resourcePolicies": {
          "workloadPolicy": "WORKLOAD_POLICY_URL"
        }
      }
    
מחליפים את מה שכתוב בשדות הבאים:
  • PROJECT_ID: מזהה הפרויקט.
  • ZONE: האזור שבו רוצים ליצור את קבוצת ה-MIG. מציינים אזור בתוך האזור של מדיניות עומס העבודה.
  • REGION: האזור שבו רוצים ליצור את קבוצת ה-MIG. מציינים את אותו אזור כמו זה של מדיניות עומס העבודה.
  • INSTANCE_TEMPLATE_URL: כתובת ה-URL של תבנית של הגדרות מכונה שרוצים להשתמש בה כדי ליצור מכונות ב-MIG. כתובת ה-URL יכולה להכיל את המזהה או את השם של תבנית של הגדרות מכונה. מציינים אחד מהערכים הבאים:
    • לתבנית של הגדרות מכונה אזורית: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • לתבנית גלובלית של הגדרות מכונה: INSTANCE_TEMPLATE_ID
  • MIG_NAME: השם של ה-MIG.
  • TARGET_SIZE: מספר המופעים שרוצים להוסיף ל-MIG. בטופולוגיית המאיץ של 1x72, מגדירים את גודל היעד ל-18.
  • WORKLOAD_POLICY_URL: כתובת ה-URL של מדיניות העומס – לדוגמה, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.

התקנת דרייברים של GPU

אחרי שיוצרים מופע, המופע לא יכול להשתמש ב-GPU שלו אלא אם מנהלי ההתקנים הנכונים של ה-GPU כבר מותקנים. אם לא ציינתם תמונת מערכת הפעלה שכוללת מנהלי התקנים של GPU, תוכלו לעיין במאמר התקנת מנהלי התקנים של GPU במסמכי התיעוד של Compute Engine.

אופציונלי: הפעלת מצב NVIDIA Multi-Instance GPU

מצב Multi-Instance GPU ‏ (MIG) הוא תכונה שאפשר להפעיל בGPU נתמך של NVIDIA. אחרי שיוצרים מכונה, אפשר להפעיל את מצב MIG במעבד גרפי יחיד שמצורף למכונה. כשמצב MIG מופעל, ה-GPU היחיד מחולק לשבעה מופעי GPU עצמאיים לכל היותר. כל מופע פועל בו-זמנית, ולכל אחד מהם יש זיכרון, מטמון ומעבדים מרובי-ליבות משלו לסטרימינג. לאחר מכן, תוכלו להריץ במקביל עומסי עבודה שונים במכונות ה-GPU האלה. מידע נוסף על שימוש במצב MIG זמין במדריך למשתמש של Multi-Instance GPU (MIG) במסמכי התיעוד של NVIDIA.

מה השלב הבא?