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

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

מידע נוסף על יצירת מכונות וירטואליות בכמות גדולה זמין במאמר בנושא יצירת מכונות וירטואליות בכמות גדולה בתיעוד של Compute Engine.

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

מגבלות

למידע על המגבלות שחלות על סוגי מכונות N1 עם GPU, אפשר לעיין בכל המאמרים הבאים:

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

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

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

צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

המסוף

כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

gcloud

במסוף Google Cloud , מפעילים את Cloud Shell.

הפעלת Cloud Shell

בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

REST

כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

    התקינו את ה-CLI של Google Cloud.

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

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

כדי לקבל את ההרשאות שנדרשות ליצירת מכונות וירטואליות בכמות גדולה, צריך לבקש מהאדמין להקצות לכם ב-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 בדיסק

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

סקירה כללית

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

  1. יצירת מכונות בכמות גדולה
  2. התקנת דרייברים של GPU

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

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

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

gcloud

כדי ליצור כמות גדולה של מכונות, משתמשים ב פקודה gcloud compute instances bulk create.

הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.

הזמנה

מכונות N1 עם מעבדי GPU מסוג T4 או V100 תומכות בסוגי ההזמנות הבאים:

  • הזמנות על פי דרישה
  • הזמנות רגילות לעתיד

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

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

כך עושים את זה:

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

    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. לרשימה של מגבלות GPU לפי סוג המכונה של המכונה הווירטואלית, אפשר לעיין במידע על מעבדי N1 GPU במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • RESERVATION_AFFINITY: אם אפשר, מציינים את ההזמנות שהמופע יכול לנצל. מציינים אחת מהאפשרויות הבאות:

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

      • specific (נדרשת קיבולת ממקום שמור): המכונה חייבת להשתמש בקיבולת ממקום שמור שמיועד ספציפית למכונה. למופע אין הרשאה להשתמש בקיבולת לפי דרישה. אם הקיבולת של המקום השמור לא זמינה, יצירת המופע תיכשל.

    • RESERVATION: ההזמנה לשימוש. מציינים אחד מהערכים הבאים בהתאם לערך שציינתם עבור RESERVATION_AFFINITY:

      • אם ציינתם any, מחליפים את RESERVATION במחרוזת ריקה (""). לחלופין, אפשר להסיר לגמרי את הדגל --reservation.
      • אם ציינתם specific, מחליפים את RESERVATION בערך הבא:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

        • RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
        • RESERVATION_NAME: השם של ההזמנה.
  2. כברירת מחדל, המכונה מופעלת מחדש באופן אוטומטי אם היא קורסת או אם Compute Engine מפסיק אותה בגלל עצירה מתוכנת, כמו אירוע תחזוקה. כדי להשבית את ההפעלה האוטומטית מחדש, מוסיפים את הדגל הבא:

    --no-restart-on-failure
  3. אופציונלי: כדי לצרף דיסקים של SSD מקומי, מוסיפים את הדגל --local-ssd לכל דיסק SSD מקומי.

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

    --local-ssd interface=INTERFACE_TYPE
    

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

    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  4. מריצים את הפקודה.

על פי דרישה

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

כך עושים את זה:

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

    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. רשימת המגבלות על יחידות ה-GPU בהתאם לסוג המכונה של המכונה הווירטואלית זמינה במידע על יחידות GPU מסוג N1 במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • RESERVATION_AFFINITY: אם אפשר, מציינים את ההזמנות שהמופע יכול לנצל. מציינים אחת מהאפשרויות הבאות:

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

      • none (נדרשת קיבולת על פי דרישה): חסימת השימוש בקיבולת של מקום שמור במכונה.

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

    --no-restart-on-failure
  3. אופציונלי: כדי לצרף דיסקים של SSD מקומי, מוסיפים את הדגל --local-ssd לכל דיסק SSD מקומי.

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

    --local-ssd interface=INTERFACE_TYPE
    

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

    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  4. מריצים את הפקודה.

Spot

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

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

כך עושים את זה:

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

    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. לרשימה של מגבלות GPU לפי סוג המכונה של המכונה הווירטואלית, אפשר לעיין במידע על מעבדי N1 GPU במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • REGION: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הן STOP (ברירת מחדל) או DELETE.

  2. אופציונלי: כדי לצרף דיסקים של SSD מקומי, מוסיפים את הדגל --local-ssd לכל דיסק SSD מקומי.

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

    --local-ssd interface=INTERFACE_TYPE
    

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

    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  3. מריצים את הפקודה.

REST

כדי ליצור כמה מכונות בבת אחת, שולחים בקשת POST אל ה-method‏ instances.bulkInsert.

הפרמטרים שצריך לציין תלויים באפשרות הצריכה שבה אתם משתמשים לפריסה הזו. בוחרים את הכרטיסייה שמתאימה לאפשרות הצריכה שלכם.

הזמנה

מכונות N1 עם מעבדי GPU מסוג T4 או V100 תומכות בסוגי ההזמנות הבאים:

  • הזמנות על פי דרישה
  • הזמנות רגילות לעתיד

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

לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "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"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

כך עושים את זה:

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

    • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע N1 עם מעבדי GPU מסוג T4 או V100.
    • ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. רשימת המגבלות על יחידות ה-GPU בהתאם לסוג המכונה של המכונה הווירטואלית זמינה במידע על יחידות GPU מסוג N1 במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי התיעוד של Compute Engine.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • AUTOMATIC_RESTART: אם המכונה שלכם מופעלת מחדש באופן אוטומטי אם היא קורסת או אם Compute Engine מפסיק אותה לצורך עצירה מתוכנתת, כמו אירוע תחזוקה. מציינים את האפשרות true כדי להפעיל הפעלה אוטומטית מחדש (ברירת מחדל) או את האפשרות false כדי להשבית הפעלה אוטומטית מחדש.

    • RESERVATION_AFFINITY: אם אפשר, מציינים את ההזמנות שהמופע יכול לנצל. מציינים אחת מהאפשרויות הבאות:

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

      • SPECIFIC_RESERVATION (נדרשת קיבולת ממקום שמור): המכונה חייבת להשתמש בקיבולת ממקום שמור שמיועד ספציפית למכונה. למופע אין הרשאה להשתמש בקיבולת לפי דרישה. אם הקיבולת של המקום השמור לא זמינה, יצירת המופע תיכשל.

    • RESERVATION: ההזמנה לשימוש. מציינים אחד מהערכים הבאים בהתאם לערך שציינתם עבור RESERVATION_AFFINITY:

      • אם ציינתם את ANY_RESERVATION, צריך למחוק את RESERVATION כדי שהערך יהיה מחרוזת ריקה (""). אפשרות אחרת היא להסיר לגמרי את השדות key ו-values.
      • אם ציינתם SPECIFIC_RESERVATION, מחליפים את RESERVATION בערך הבא:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

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

        • RESERVATION_OWNER_PROJECT_ID: מזהה הפרויקט שבו נוצרה ההזמנה.
        • RESERVATION_NAME: השם של ההזמנה.
  2. אופציונלי: כדי להשתמש בדיסקים של SSD מקומי, מוסיפים את השדה הבא לשדה disks[] עבור כל דיסק SSD מקומי. מפרידים בין כל שדה משנה disks[] (כולל דיסק האתחול) באמצעות פסיק.

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

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

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

    • ZONE: האזור שציינתם.
    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  3. שולחים את הבקשה.

על פי דרישה

לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "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"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

כך עושים את זה:

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

    • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע N1 עם מעבדי GPU מסוג T4 או V100.
    • ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. לרשימה של מגבלות GPU לפי סוג המכונה של המכונה הווירטואלית, אפשר לעיין במידע על מעבדי N1 GPU במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • AUTOMATIC_RESTART: אם המכונה שלכם מופעלת מחדש באופן אוטומטי אם היא קורסת או אם Compute Engine מפסיק אותה לצורך עצירה מתוכנתת, כמו אירוע תחזוקה. מציינים את האפשרות true כדי להפעיל הפעלה אוטומטית מחדש (ברירת מחדל) או את האפשרות false כדי להשבית הפעלה אוטומטית מחדש.

    • RESERVATION_AFFINITY: אם אפשר, מציינים את ההזמנות שהמופע יכול לנצל. מציינים אחת מהאפשרויות הבאות:

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

      • NO_RESERVATION (נדרשת קיבולת על פי דרישה): חסימת השימוש בקיבולת של מקום שמור במכונה.

  2. אופציונלי: כדי להשתמש בדיסקים של SSD מקומי, מוסיפים את השדה הבא לשדה disks[] עבור כל דיסק SSD מקומי. מפרידים בין כל שדה משנה disks[] (כולל דיסק האתחול) באמצעות פסיק.

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

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

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

    • ZONE: האזור שציינתם.
    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  3. שולחים את הבקשה.

Spot

לפני ששולחים את הבקשה, כדאי לעיין בכל השלבים הבאים כדי להחליט אם לכלול שדות נוספים.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "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"
        ]
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

כך עושים את זה:

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

    • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מופע N1 עם מעבדי GPU מסוג T4 או V100.
    • ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים.
    • NAME_PATTERN: תבנית השם לשימוש במכונות N1 עם יחידות GPU מסוג T4 או V100. לדוגמה, שימוש ב-instance-# בתבנית השם יוצר מכונות N1 עם מעבדי GPU מסוג T4 או V100, עם שמות כמו instance-1 ו-instance-2, עד למספר המכונות N1 עם מעבדי GPU מסוג T4 או V100 שצוין על ידי --count.
    • COUNT: מספר המכונות מסוג N1 עם מעבדי GPU מסוג T4 או V100 שייווצרו.
    • MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור מופע N1 עם מעבדי GPU מסוג T4 או V100. מידע נוסף זמין במאמר סוגי מכונות עם GPU במאמרי העזרה של Compute Engine.
    • ACCELERATOR_COUNT: מספר יחידות ה-GPU שרוצים לצרף למכונה הווירטואלית N1. רשימת המגבלות על יחידות ה-GPU בהתאם לסוג המכונה של המכונה הווירטואלית זמינה במידע על יחידות GPU מסוג N1 במסמכי Compute Engine.
    • ACCELERATOR_TYPE: סוג המאיץ למכונות וירטואליות מסוג N1 שרוצים להשתמש בו. לעומסי עבודה של AI, מומלץ להשתמש ביחידות GPU מסוג T4 או V100.
    • DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, אפשר לעיין במאמרים מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק.
    • DISK_TYPE: סוג דיסק האתחול. למידע נוסף על סוגי הדיסקים הנתמכים בסוג המכונה שלכם, אפשר לעיין במאמר מכונות GPU במשפחת מכונות שעברו אופטימיזציה למאיצים במסמכי העזרה של Compute Engine.
    • IMAGE_PROJECT: מזהה הפרויקט של תמונת מערכת ההפעלה.
    • IMAGE_FAMILY: משפחת התמונות של תמונת מערכת ההפעלה שרוצים להשתמש בה. רשימה של כל מערכות ההפעלה הנתמכות מופיעה במאמר בנושא מערכות הפעלה נתמכות.
    • TERMINATION_ACTION: הפעולה שתתבצע כש-Compute Engine יבצע דחיקה של המכונה, האפשרויות הן STOP (ברירת מחדל) או DELETE.

  2. אופציונלי: כדי להשתמש בדיסקים של SSD מקומי, מוסיפים את השדה הבא לשדה disks[] עבור כל דיסק SSD מקומי. מפרידים בין כל שדה משנה disks[] (כולל דיסק האתחול) באמצעות פסיק.

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

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

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

    • ZONE: האזור שציינתם.
    • INTERFACE_TYPE: סוג ממשק הדיסק שרוצים להשתמש בו עבור דיסק ה-SSD המקומי. אם קובץ האימג' של דיסק האתחול כולל מנהלי התקנים אופטימליים של NVMe, צריך לציין NVME. מציינים SCSI לתמונות אחרות.

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

  3. שולחים את הבקשה.

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

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

אחרי שיוצרים מופע, המופע לא יכול להשתמש ב-GPU שלו אלא אם מנהלי ההתקנים הנכונים של ה-GPU כבר מותקנים. הדרייבר שצריך להתקין תלוי בשאלה אם המופע הפעיל NVIDIA RTX Virtual Workstation (vWS). אפשר לבחור באחת מהאפשרויות הבאות:

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