יצירת מכונות וירטואליות עם GPU בכמות גדולה

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

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

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

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

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

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

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

כדי ליצור מכונות וירטואליות, צריך את ההרשאות הבאות:

  • compute.instances.create בפרויקט
  • כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM)‏: ‫compute.images.useReadOnly בקובץ אימג'
  • כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית: ‫compute.snapshots.useReadOnly בקובץ snapshot
  • כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית: compute.instanceTemplates.useReadOnly בתבנית של הגדרות המכונה
  • כדי לציין רשת משנה למכונה הווירטואלית: ‫compute.subnetworks.use בפרויקט או ברשת המשנה שנבחרה
  • כדי לציין כתובת IP סטטית למכונה הווירטואלית: ‫compute.addresses.use בפרויקט
  • כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC: ‫compute.subnetworks.useExternalIp בפרויקט או ברשת המשנה שנבחרה
  • כדי להקצות רשת מדור קודם למכונה הווירטואלית: ‫compute.networks.use בפרויקט
  • כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם: ‫compute.networks.useExternalIp בפרויקט
  • כדי להגדיר מטא-נתונים של המכונה הווירטואלית: ‫compute.instances.setMetadata בפרויקט
  • כדי להגדיר תגים למכונה הווירטואלית: ‫compute.instances.setTags במכונה הווירטואלית
  • כדי להגדיר תוויות למכונה הווירטואלית: ‫compute.instances.setLabels במכונה הווירטואלית
  • כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית: ‫compute.instances.setServiceAccount במכונה הווירטואלית
  • כדי ליצור דיסק חדש למכונה הווירטואלית: ‫compute.disks.create בפרויקט
  • כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה: ‫compute.disks.use בדיסק
  • כדי לצרף דיסק קיים במצב קריאה-בלבד: ‫compute.disks.useReadOnly בדיסק

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

סקירה כללית

כשיוצרים מכונות וירטואליות עם כרטיסי GPU מצורפים באמצעות שיטת היצירה בכמות גדולה, אפשר לבחור ליצור מכונות וירטואליות באזור (למשל us-central1) או באזור ספציפי (למשל us-central1-a).

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

סוגי מכונות

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

‫Compute Engine מציע סוגים שונים של מכונות שתומכות בעומסי עבודה שונים.

חלק מסוגי המכונות תומכים בתחנות עבודה וירטואליות (vWS) של NVIDIA RTX. כשיוצרים מכונה שמשתמשת ב-NVIDIA RTX Virtual Workstation,‏ Compute Engine מוסיף באופן אוטומטי רישיון vWS. מידע על התמחור של תחנות עבודה וירטואליות מופיע בדף התמחור של GPU.

סוגי מכונות עם GPU
עומסי עבודה של AI ו-ML גרפיקה והמחשה חזותית עומסי עבודה אחרים של GPU
סוגי מכונות מסדרה A שעברו אופטימיזציה לשימוש במאיצים מיועדים לעומסי עבודה של מחשוב עתיר ביצועים (HPC), בינה מלאכותית (AI) ולמידת מכונה (ML).

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

בסוגי המכונות האלה, מודל ה-GPU מצורף באופן אוטומטי למופע.

סוגי מכונות מסדרת G שעברו אופטימיזציה לשימוש במאיצים מיועדים לעומסי עבודה כמו עומסי עבודה של סימולציה ב-NVIDIA Omniverse, אפליקציות עתירות גרפיקה, טרנסקוד של סרטונים ומחשבים וירטואליים. סוגי המכונות האלה תומכים ב-NVIDIA RTX Virtual Workstations (vWS).

אפשר להשתמש בסדרת G גם לאימון מודלים קטנים יותר ולהסקת מסקנות במארח יחיד.

בסוגי המכונות האלה, מודל ה-GPU מצורף באופן אוטומטי למופע.

בסוגי מכונות למטרות כלליות מסוג N1, למעט N1 עם ליבת מעבד משותפת (f1-micro ו-g1-small), אפשר לחבר קבוצה נבחרת של דגמי GPU. חלק מדגמי ה-GPU האלה תומכים גם ב-NVIDIA RTX Virtual Workstations‏ (vWS).

  • A4X Max (NVIDIA GB300 Ultra Superchips)
    (nvidia-gb300)
  • A4X (NVIDIA GB200 Superchips)
    (nvidia-gb200)
  • A4 (NVIDIA B200)
    (nvidia-b200)
  • A3 Ultra (NVIDIA H200)
    (nvidia-h200-141gb)
  • A3 Mega (NVIDIA H100)
    (nvidia-h100-mega-80gb)
  • A3 High (NVIDIA H100)
    (nvidia-h100-80gb)
  • A3 Edge (NVIDIA H100)
    (nvidia-h100-80gb)
  • A2 Ultra (NVIDIA A100 80GB)
    (nvidia-a100-80gb)
  • A2 Standard (NVIDIA A100 4OGB)
    (nvidia-tesla-a100)
  • G4 ‏ (NVIDIA RTX PRO 6000)
    ‏ (nvidia-rtx-pro-6000)
    ‏ (nvidia-rtx-pro-6000-vws)
  • G2 (NVIDIA L4)
    (nvidia-l4)
    (nvidia-l4-vws)
אפשר לצרף את דגמי ה-GPU הבאים לסוגי מכונות וירטואליות לשימוש כללי מסוג N1:
  • ‫NVIDIA T4
    (nvidia-tesla-t4)
    (nvidia-tesla-t4-vws)
  • ‫NVIDIA P4
    (nvidia-tesla-p4)
    (nvidia-tesla-p4-vws)
  • ‫NVIDIA V100
    (nvidia-tesla-v100)
  • ‫NVIDIA P100
    (nvidia-tesla-p100)
    (nvidia-tesla-p100-vws). תאריך סיום התמיכה ב-NVIDIA P100 מתקרב. אפשר לעיין במאמר סיום התמיכה ב-NVIDIA P100.

יצירת קבוצות של A4X,‏ A4 ו-A3 Ultra

כדי ליצור כמה מכונות מסדרות המכונות A4X,‏ A4 ו-A3 Ultra, אפשר לעיין בסקירה הכללית של אפשרויות הפריסה במסמכי התיעוד של AI Hypercomputer.

יצירת קבוצות של מכונות וירטואליות מסוג A3,‏ A2,‏ G4 ו-G2

בקטע הזה מוסבר איך ליצור מכונות בכמות גדולה בסדרות המכונות A3 High,‏ A3 Mega,‏ A3 Edge,‏ A2 Standard,‏ A2 Ultra,‏ G4 ו-G2 באמצעות Google Cloud CLI או REST.

gcloud

כדי ליצור קבוצה של מכונות וירטואליות, משתמשים בפקודה gcloud compute instances bulk create. מידע נוסף על הפרמטרים ועל אופן השימוש בפקודה הזו זמין במאמר בנושא יצירת מכונות וירטואליות בכמות גדולה.

דוגמה

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

gcloud compute instances bulk create \
    --name-pattern="my-test-vm-#" \
    --region=REGION \
    --count=2 \
    --machine-type=MACHINE_TYPE \
    --boot-disk-size=200 \
    --image=IMAGE \
    --image-project=IMAGE_PROJECT \
    --on-host-maintenance=TERMINATE

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

אם הפעולה מצליחה, הפלט ייראה כך:

NAME          ZONE
my-test-vm-1  us-central1-b
my-test-vm-2  us-central1-b
Bulk create request finished with status message: [VM instances created: 2, failed: 0.]

דגלים אופציונליים

כדי להגדיר את המופע כך שיתאים לעומס העבודה או למערכת ההפעלה, צריך לכלול אחד או יותר מהדגלים הבאים כשמריצים את הפקודה gcloud compute instances bulk create.

תכונה תיאור
מודל הקצאת ההרשאות הגדרת מודל ההקצאה למופע. אפשר לציין STANDARD או SPOT. אם לא מציינים מודל הקצאה, Compute Engine מגדיר את הערך ל-STANDARD. מידע נוסף זמין במאמר מודלים להקצאת משאבים של מכונות וירטואליות ב-Compute Engine.
--provisioning-model=PROVISIONING_MODEL
תחנת עבודה וירטואלית מציינת תחנות עבודה וירטואליות (vWs) של NVIDIA RTX לעומסי עבודה של גרפיקה. התכונה הזו נתמכת רק במופעי G4 ו-G2.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

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

  • בקטע VWS_ACCELERATOR_TYPE, בוחרים אחת מהאפשרויות הבאות:
    • במקרים של מופעי G4, מציינים nvidia-rtx-pro-6000-vws
    • במקרים של מופעי G2, מציינים nvidia-l4-vws
  • במקום VWS_ACCELERATOR_COUNT, מציינים את מספר יחידות ה-GPU הווירטואליות שרוצים להוסיף.
אחסון SSD מקומי מצרף למופע דיסקים מקומיים מסוג SSD. אפשר להשתמש בכונני SSD מקומיים כדי ליצור דיסקים מהירים לגירוד או כדי להזין נתונים ל-GPU, וכך למנוע צווארי בקבוק של קלט/פלט.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
כדי לראות את המספר המקסימלי של דיסקים מקומיים מסוג SSD שאפשר לצרף לכל מכונת VM, אפשר לעיין במאמר מגבלות של SSD מקומי.
ממשק רשת מצרף כמה ממשקי רשת למופע. במקרים של g4-standard-384, אפשר לצרף עד שני ממשקי רשת. אפשר להשתמש בדגל הזה כדי ליצור מכונה עם שני ממשקי רשת (2x 200 Gbps). כל ממשק רשת חייב להיות ברשת VPC ייחודית.
   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

ממשקי רשת כפולים נתמכים רק בסוגי מכונות g4-standard-384.

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

  • VPC_NAME: השם של רשת ה-VPC.
  • SUBNET_NAME: השם של רשת המשנה שמהווה חלק מרשת ה-VPC שצוינה.
מדיניות בנושא מיקום שולט במיקום של המופע באזור. אתם יכולים לציין מדיניות צפופה כדי למזער את זמן האחזור ברשת במכונות G2, או מדיניות מפוזרת כדי לשפר את העמידות של מכונות G4 או G2 בפני שיבושים ספציפיים לאזור.
   --resource-policies=POLICY_NAME
   

מחליפים את POLICY_NAME בשם מדיניות המיקום. אפשר ליצור את המופע רק באותו אזור שבו נמצאת המדיניות.

REST

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

דוגמה

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

  • שמות מכונות וירטואליות: my-test-vm-1, my-test-vm-2
  • לכל מכונה וירטואלית מצורפים שני GPUs, שמוגדרים באמצעות סוג המכונה שעבר אופטימיזציה לשימוש במאיץ המתאים

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert
    {
    "namePattern":"my-test-vm-#",
    "count":"2",
    "instanceProperties": {
      "machineType":MACHINE_TYPE,
      "disks":[
        {
          "type":"PERSISTENT",
          "initializeParams":{
            "diskSizeGb":"200",
            "sourceImage":SOURCE_IMAGE_URI
          },
          "boot":true
        }
      ],
      "name": "default",
      "networkInterfaces":
      [
        {
          "network": "projects/PROJECT_ID/global/networks/default"
        }
      ],
      "scheduling":{
        "onHostMaintenance":"TERMINATE",
        ["automaticRestart":true]
      }
    }
    }
    

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

  • PROJECT_ID: מזהה הפרויקט
  • REGION: האזור של המכונות הווירטואליות. האזור הזה צריך לתמוך במודל ה-GPU שבחרתם.
  • MACHINE_TYPE: סוג המכונה שבחרתם. צריך לבחור אחת מהאפשרויות הבאות:

  • SOURCE_IMAGE_URI: ה-URI של התמונה או משפחת התמונות הספציפית שרוצים להשתמש בה.

    לדוגמה:

    • תמונה ספציפית: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • משפחת תמונות: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp".

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

שדות אופציונליים

כדי להגדיר עוד את המופע כך שיתאים לעומס העבודה או לדרישות של מערכת ההפעלה, צריך לכלול דגל אחד או יותר מהדגלים הבאים כשמריצים את השיטה instances.bulkInsert.

תכונה תיאור
מודל הקצאת ההרשאות כדי להקטין את העלויות, אפשר לציין מודל הקצאת משאבים שונה על ידי הוספת השדה "provisioningModel": "PROVISIONING_MODEL" לאובייקט scheduling בבקשה. מידע נוסף זמין במאמר מודלים להקצאת משאבים של מכונות וירטואליות ב-Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "TERMINATE",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

מחליפים את PROVISIONING_MODEL באחד מהערכים הבאים:

  • STANDARD: מופע רגיל. זה ערך ברירת המחדל.
  • SPOT: VM במודל Spot. אם יוצרים VM במודל Spot, השדות onHostMaintenance ו-automaticRestart מוחלפים. מכונות וירטואליות מסוג Spot מוזלות מאוד, אבל Compute Engine יכול להפסיק את השימוש בהן בכל שלב כדי לפנות קיבולת.
תחנת עבודה וירטואלית מציין תחנות עבודה וירטואליות (vWS) של NVIDIA RTX לעומסי עבודה גרפיים. התכונה הזו נתמכת רק במופעי G4 ו-G2.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

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

  • בקטע VWS_ACCELERATOR_TYPE, בוחרים אחת מהאפשרויות הבאות:
    • במקרים של מופעי G4, מציינים nvidia-rtx-pro-6000-vws
    • במקרים של מופעי G2, מציינים nvidia-l4-vws
  • במקום VWS_ACCELERATOR_COUNT, מציינים את מספר יחידות ה-GPU הווירטואליות שרוצים להוסיף.
אחסון SSD מקומי מצרף למופע דיסקים מקומיים מסוג SSD. אפשר להשתמש בכונני SSD מקומיים כדי ליצור דיסקים מהירים לגירוד או כדי להזין נתונים ל-GPU, וכך למנוע צווארי בקבוק של קלט/פלט.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
כדי לראות את המספר המקסימלי של דיסקים מקומיים מסוג SSD שאפשר לצרף לכל מכונת VM, אפשר לעיין במאמר מגבלות של SSD מקומי.
ממשק רשת מצרף כמה ממשקי רשת למופע. במקרים של g4-standard-384, אפשר לצרף עד שני ממשקי רשת. כך נוצרת מכונה עם שני ממשקי רשת (2x 200 Gbps). כל ממשק רשת חייב להיות ברשת VPC ייחודית.
   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

ממשקי רשת כפולים נתמכים רק בסוגי מכונות g4-standard-384.

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

  • VPC_NAME_1 ו-VPC_NAME_2: השם של רשתות ה-VPC.
  • SUBNET_NAME: השם של רשת המשנה שמהווה חלק מרשתות ה-VPC שצוינו.
מדיניות בנושא מיקום שולט במיקום של המופע באזור. אתם יכולים לציין מדיניות צפופה כדי למזער את זמן האחזור ברשת במכונות G2, או מדיניות מפוזרת כדי לשפר את העמידות של מכונות G4 או G2 בפני שיבושים ספציפיים לאזור.
   "resourcePolicies": [
     "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
   ]
   

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

  • REGION: האזור שבו קיימת מדיניות המיקום. אפשר ליצור את המופע רק באותו אזור שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות המיקום.

יצירת קבוצות של מכונות וירטואליות למטרות כלליות מסוג N1

יוצרים קבוצה של מכונות וירטואליות עם כרטיסי GPU מצורפים באמצעות Google Cloud CLI או REST.

בקטע הזה מוסבר איך ליצור כמה מכונות וירטואליות באמצעות סוגי ה-GPU הבאים:

מעבדי GPU של NVIDIA:

  • ‫NVIDIA T4: nvidia-tesla-t4
  • ‫NVIDIA P4: nvidia-tesla-p4
  • ‫NVIDIA P100: nvidia-tesla-p100
  • ‫NVIDIA V100: nvidia-tesla-v100

‫NVIDIA RTX Virtual Workstation (vWS) (לשעבר NVIDIA GRID):

  • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
  • תחנת עבודה וירטואלית NVIDIA P4: nvidia-tesla-p4-vws
  • תחנת עבודה וירטואלית NVIDIA P100: nvidia-tesla-p100-vws

    לכל תחנות העבודה הווירטואליות האלה, רישיון של תחנת עבודה וירטואלית (vWS) של NVIDIA RTX מתווסף אוטומטית למופע.

gcloud

כדי ליצור קבוצה של מכונות וירטואליות, משתמשים בפקודה gcloud compute instances bulk create. מידע נוסף על הפרמטרים ועל אופן השימוש בפקודה הזו זמין במאמר בנושא יצירת מכונות וירטואליות בכמות גדולה.

דוגמה

בדוגמה הבאה נוצרות שתי מכונות וירטואליות עם כרטיסי GPU מצורפים לפי המפרטים הבאים:

  • שמות מכונות וירטואליות: my-test-vm-1, my-test-vm-2
  • מכונות וירטואליות שנוצרו בכל אזור ב-us-central1 עם תמיכה ביחידות GPU
  • לכל מכונה וירטואלית מצורפים שני מעבדי T4 GPU, שצוינו באמצעות הדגלים של סוג המאיץ ומספר המאיצים
  • בכל מכונה וירטואלית מותקנים מנהלי התקנים של GPU
  • כל מכונה וירטואלית משתמשת בתמונת VM של למידה עמוקה (Deep Learning) pytorch-latest-gpu-v20211028-debian-10
gcloud compute instances bulk create \
    --name-pattern="my-test-vm-#" \
    --count=2 \
    --region=us-central1 \
    --machine-type=n1-standard-2 \
    --accelerator type=nvidia-tesla-t4,count=2 \
    --boot-disk-size=200 \
    --metadata="install-nvidia-driver=True" \
    --scopes="https://www.googleapis.com/auth/cloud-platform" \
    --image=pytorch-latest-gpu-v20211028-debian-10 \
    --image-project=deeplearning-platform-release \
    --on-host-maintenance=TERMINATE --restart-on-failure

אם הפעולה מצליחה, הפלט ייראה כך:

NAME          ZONE
my-test-vm-1  us-central1-b
my-test-vm-2  us-central1-b
Bulk create request finished with status message: [VM instances created: 2, failed: 0.]

REST

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

דוגמה

בדוגמה הבאה נוצרות שתי מכונות וירטואליות עם כרטיסי GPU מצורפים לפי המפרטים הבאים:

  • שמות מכונות וירטואליות: my-test-vm-1, my-test-vm-2
  • מכונות וירטואליות שנוצרו בכל אזור ב-us-central1 עם תמיכה ביחידות GPU
  • לכל מכונה וירטואלית מצורפים שני מעבדי T4 GPU, שצוינו באמצעות הדגלים של סוג המאיץ ומספר המאיצים
  • בכל מכונה וירטואלית מותקנים מנהלי התקנים של GPU
  • כל מכונה וירטואלית משתמשת בתמונת VM של למידה עמוקה (Deep Learning) pytorch-latest-gpu-v20211028-debian-10

מחליפים את PROJECT_ID במזהה הפרויקט.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/instances/bulkInsert

{
    "namePattern":"my-test-vm-#",
    "count":"2",
    "instanceProperties": {
      "machineType":"n1-standard-2",
      "disks":[
        {
          "type":"PERSISTENT",
          "initializeParams":{
            "diskSizeGb":"200",
            "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10"
          },
          "boot":true
        }
      ],
      "name": "default",
      "networkInterfaces":
      [
        {
          "network": "projects/PROJECT_ID/global/networks/default"
        }
      ],
      "guestAccelerators":
      [
        {
          "acceleratorCount": 2,
          "acceleratorType": "nvidia-tesla-t4"
        }
      ],
      "scheduling":{
        "onHostMaintenance":"TERMINATE",
        "automaticRestart":true
      },
      "metadata":{
        "items":[
          {
            "key":"install-nvidia-driver",
            "value":"True"
          }
        ]
      }
  }
 }

מה השלב הבא?