במאמר הזה מוסבר איך ליצור מכונות עצמאיות של Compute Engine שמשתמשות בסוגי מכונות עם אופטימיזציה למאיצים מסוג A4X Max. במאמר יצירת אשכול GKE שמותאם ל-AI ומשתמש במכונות A4X Max מוסבר איך יוצרים אשכול GKE שמשתמש במכונות A4X Max. במאמר סקירה כללית של אפשרויות הפריסה מוסבר על כל האפשרויות ליצירת מכונות ואשכולות.
סוג המכונה של A4X Max
מכונה של Compute Engine, או מכונה, היא משאב מחשוב שמתארח בתשתית של Google ויכול להיות מכונה וירטואלית (VM) או מכונת Bare Metal. מכונות A4X Max זמינות כמכונות Bare Metal, ששונות ממכונות וירטואליות בכך שהן מספקות גישה ישירה ולא וירטואלית לחומרה הפיזית הבסיסית. מידע נוסף על סוג המכונה A4X Max זמין במאמרים סדרת A4X Max ורוחב הפס של רשת ה-GPU במסמכי התיעוד של Compute Engine.
מגבלות
כשיוצרים מכונה עצמאית של A4X Max, חלות המגבלות הבאות:
- לא תקבלו הנחות על שימוש קבוע או הנחות תמורת התחייבות גמישה לשימוש במכונות מהסוג הזה.
- אפשר ליצור מכונות רק באזורים ובאזורי זמינות מסוימים.
- אי אפשר להשתמש ב-Persistent Disk (אזורי או של תחום מוגדר). אפשר להשתמש רק ב-Google Cloud Hyperdisk.
- סוג המכונה הזה זמין רק בפלטפורמת NVIDIA Grace.
- אי אפשר לשנות את סוג המכונה ל-A4X Max. כדי לעבור לסוג המכונה הזה או ממנו, צריך ליצור מכונה חדשה.
- אי אפשר להריץ מערכות הפעלה של Windows במכונה מהסוג הזה. כאן תוכלו לקרוא אילו מערכות הפעלה של Linux נתמכות במכונות GPU.
- במכונות A4X Max אין תמיכה באפשרויות הבאות:
- אי אפשר לצרף דיסקים של Hyperdisk ML שנוצרו לפני 4 בפברואר 2026 לסוגי מכונות A4X Max.
לפני שמתחילים
לפני שיוצרים מכונות A4X Max, אם עדיין לא עשיתם את זה, בצעו את השלבים הבאים:
- בחירת אפשרות צריכה: אפשרות הצריכה שתבחרו תקבע איך תקבלו את משאבי ה-GPU ותשתמשו בהם. מידע נוסף זמין במאמר בחירת אפשרות צריכה.
- השגת קיבולת: התהליך להשגת קיבולת שונה בכל אפשרות צריכה. במאמר סקירה כללית על קיבולת מוסבר איך מקבלים קיבולת לאפשרות הצריכה שבחרתם.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initREST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
היסודות של A4X Max
אשכול A4X Max מאורגן בהיררכיה של בלוקים ובלוקי משנה כדי לאפשר ביצועים ברשת בקנה מידה גדול, ללא חסימות. חשוב להבין את הטופולוגיה הזו כשמשריינים קיבולת ופורסים עומסי עבודה.
- מכונה מסוג A4X Max
- מכונה מסוג A4X Max היא מכונה אחת מסוג A4X Max שמחוברים אליה 4 מעבדי GPU.
- בלוק משנה
- בלוק משנה הוא היחידה הבסיסית של הקיבולת המקסימלית של A4X. ב-A4X Max, בלוק משנה מורכב מ-18 מכונות A4X Max (72 יחידות GPU). המכונות האלה יוצרות דומיין NVLink ומחוברות באמצעות מערכת NVLink עם כמה צמתים. כדי ליצור בלוק משנה של A4X Max, צריך להחיל מדיניות למיקום קומפקטי שמציינת טופולוגיה של
1x72. - חסימה
- בלוק A4X Max מורכב מ-25 בלוקי משנה (דומיינים של NVLink), עד 450 מכונות A4X Max (1,800 מעבדי GPU). תת-הבלוקים מיושרים בארכיטקטורת rail-aligned כדי לאפשר התאמה יעילה לעומס. כל בלוק משנה דורש מדיניות למיקום קומפקטי. לכן, בבלוק אחד של A4X Max אפשר ליצור 25 כללי מדיניות למיקום קומפקטי.
בטבלה הבאה מפורטות אפשרויות הטופולוגיה שנתמכות במכונות A4X Max:
טופולוגיה (gpuTopology) |
מספר יחידות ה-GPU | מספר המופעים |
|---|---|---|
1x72 |
72 | 18 |
סקירה כללית
כדי ליצור מכונה עם סוג המכונה A4X Max:
יצירת רשתות VPC
כדי להגדיר את הרשת לסוגי המכונות A4X Max, יוצרים שלוש רשתות VPC לממשקי הרשת הבאים:
- 2 רשתות VPC רגילות לממשקי הרשת (NIC) של IDPF . לאחר מכן, כרטיסי ה-NIC משתמשים ברשתות ה-VPC האלה לתקשורת בין מארחים.
-
רשת VPC אחת עם
פרופיל הרשת RoCE metal
לכרטיסי ה-NIC מסוג
CX-8
כשיוצרים כמה בלוקי משנה של A4X Max.
רשת VPC מסוג RoCE למכונות Bare Metal יוצרת באופן אוטומטי תת-רשת אחת בשם
default-subnet-1-RDMA_NAME_PREFIX-netלכל שמונת כרטיסי ה-NIC מסוג CX-8. כרטיסי ה-NIC האלה משתמשים ב-RDMA over Converged Ethernet (RoCE), ומספקים תקשורת עם רוחב פס גבוה וזמן אחזור קצר, שחיונית להרחבה אופקית (scale out) לכמה בלוקי משנה של A4X Max.
למידע נוסף על סידור NIC, ראו בדיקת רוחב הפס של הרשת וסידור NIC.
אפשר ליצור את הרשתות באופן ידני לפי ההוראות במדריכים, או באופן אוטומטי באמצעות הסקריפט שסופק.
מדריכי הוראות
כדי ליצור את הרשתות, אתם יכולים להשתמש בהוראות הבאות:
- כדי ליצור את רשתות ה-VPC הרגילות לממשקי הרשת של IDPF, קראו את המאמר יצירה וניהול של רשתות VPC.
- כדי ליצור את רשת ה-VPC של RoCE למכונות Bare Metal (
roce-metal), קראו את המאמר יצירת רשת VPC לכרטיסי רשת של RDMA.
ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת השידור המקסימלית (MTU).
במכונות מסוג A4X Max, גודל ה-MTU המומלץ הוא 8896 בייטים.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.
Script
כדי ליצור את הרשתות, מבצעים את השלבים הבאים.
ברשתות ה-VPC האלה, מגדירים ערך גדול יותר ליחידת השידור המקסימלית (MTU).
במכונות מסוג A4X Max, גודל ה-MTU המומלץ הוא 8896 בייטים.
כדי לבדוק את הגדרות ה-MTU המומלצות לסוגי מכונות אחרים של GPU, קראו את המאמר הגדרות MTU לסוגי מכונות של GPU.
-
משתמשים בסקריפט הבא כדי ליצור רשתות VPC רגילות לכרטיסי ה-NIC של IDPF.
#!/bin/bash # Create regular VPC network for the IDPF NICs gcloud compute networks create IDPF_NETWORK_PREFIX-net \ --subnet-mode=custom \ --mtu=8896 \ --enable-ula-internal-ipv6 # Create subnets for the IDPF NICs for N in $(seq 0 1); do gcloud compute networks subnets create IDPF_NETWORK_PREFIX-$N \ --network=IDPF_NETWORK_PREFIX-net \ --region=REGION \ --stack-type=IPV6_ONLY \ --ipv6-access-type=INTERNAL done gcloud compute firewall-rules create IDPF_NETWORK_PREFIX-internal \ --network=IDPF_NETWORK_PREFIX-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,58 \ --source-ranges=IP_RANGE אם אתם צריכים כמה בלוקי משנה של A4X Max, השתמשו בסקריפט הבא כדי ליצור את רשת ה-VPC של RoCE למכונות Bare Metal (
roce-metal) והשתמשו בתת-הרשת שנוצרה באופן אוטומטי בשביל שמונת כרטיסי ה-NIC מסוג CX-8 בכל מכונת A4X Max.#!/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 RoCE VPC network for bare metal instances (roce-metal) gcloud compute networks create RDMA_NAME_PREFIX-net \ --network-profile=ZONE-vpc-roce-metal \ --subnet-mode custom \ --mtu=8896 # For RoCE VPC networks for bare metal instances, a single subnet named # default-subnet-1-RDMA_NAME_PREFIX-net is automatically provided. # For more details, see https://cloud.google.com/vpc/docs/rdma-network-profiles.-
IDPF_NETWORK_PREFIX: התחילית של השם בהתאמה אישית שמשמשת לרשתות VPC רגילות ולתת-רשתות של כרטיסי ה-NIC של IDPF. -
RDMA_NAME_PREFIX: התחילית של השם בהתאמה אישית של רשת ה-VPC של RoCE למכונות Bare Metal (roce-metal) לכרטיסי הרשת CX-8. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בה זמין, למשלus-central1-a. למידע על אזורים, קראו את המאמר זמינות של GPU לפי אזורים ותחומים. -
REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה חייב להתאים לאזור שצוין. לדוגמה, אם האזור הואus-central1-a, אז האזור הואus-central1. -
IP_RANGE: טווח כתובות ה-IP שמשמש לכללי חומת האש של SSH. - אופציונלי: כדי לוודא שמשאבי רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
- במסוף Google Cloud , נכנסים לדף רשתות VPC.
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
מחליפים את מה שכתוב בשדות הבאים:
יצירת מדיניות למיקום קומפקטי
כדי ליצור מדיניות למיקום קומפקטי, בוחרים אחת מהאפשרויות הבאות:gcloud
כדי ליצור מדיניות למיקום קומפקטי, משתמשים בפקודה
gcloud compute resource-policies create group-placement:
gcloud compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--gpu-topology=1x72 \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
POLICY_NAME: השם של המדיניות למיקום קומפקטי. -
REGION: האזור שבו רוצים ליצור את המדיניות למיקום קומפקטי. מציינים את האזור שמכיל את התחום שבו מתכננים ליצור מכונות, ומוודאים שסוג המכונה שרוצים להשתמש בו זמין באזור הזה. למידע על אזורים, קראו את המאמר זמינות של GPU לפי אזורים ותחומים.
REST
כדי ליצור מדיניות למיקום קומפקטי, שולחים בקשת POST ל-method resourcePolicies.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"gpuTopology": "1x72"
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
POLICY_NAME: השם של המדיניות למיקום קומפקטי. -
REGION: האזור שבו רוצים ליצור את המדיניות למיקום קומפקטי. מציינים את האזור שמכיל את התחום שבו מתכננים ליצור מכונות, ומוודאים שסוג המכונה שרוצים להשתמש בו זמין באזור הזה. למידע על אזורים, קראו את המאמר זמינות של GPU לפי אזורים ותחומים.
יצירת מכונה של A4X Max
בוחרים את אפשרות היצירה שמתאימה לארכיטקטורה של עומס העבודה:
- יצירת מכונה בדומיין NVLink עם 72 מעבדי GPU (NVL72): האפשרות הזו מתאימה במיוחד לעומסי עבודה של אימון מבוזר בקנה מידה גדול, כוונון והסקת מסקנות בכמה צמתים, שדורשים תקשורת בין מעבדי GPU עם רוחב פס גבוה וזמן אחזור קצר ב-18 מכונות לכל היותר (72 מעבדי GPU) דרך מארג NVLink עם כמה צמתים. צריך להשתמש במדיניות למיקום קומפקטי.
- יצירת מכונה עצמאית עם 4 מעבדי GPU (NVL4): האפשרות הזו מתאימה לעומסי עבודה בצומת יחיד, להסקת מסקנות ממודלים קטנים יותר, לעיבוד באצווה ולפיתוח אינטראקטיבי שמתאימים ל-4 מעבדי GPU ודורשים רק קישור בין צמתים באמצעות NVLink. כדי לחלק בלוק משנה של הזמנה למכונות וירטואליות עצמאיות, צריך לטרגט בלוק משנה ספציפי. לא צריך להשתמש במדיניות למיקום קומפקטי.
יצירת מכונה בדומיין NVLink עם 72 יחידות GPU (טופולוגיית 1x72)
כדי לקבל טופולוגיית GPU של 1x72, צריך ליצור 18 מכונות A4X Max. כשיוצרים את המכונות, מחילים את המדיניות למיקום קומפקטי שמציינת את השדה gpuTopology. החלת המדיניות מבטיחה ש-Compute Engine ייצור את כל 18 המכונות של A4X Max בבלוק משנה אחד כדי להשתמש בדומיין NVLink.
אם בבלוק המשנה אין מספיק קיבולת למכונה מסוג A4X Max, הבקשה ליצירת המכונה תיכשל.
כדי ליצור מכונה של A4X Max, בוחרים אחת מהאפשרויות הבאות.
הפקודות הבאות גם מגדירות את היקף הגישה למכונות. כדי לפשט את ניהול ההרשאות, Google ממליצה להגדיר את היקף הגישה במכונה לגישה מסוגcloud-platform, ואז להשתמש בתפקידי IAM כדי להגדיר לאילו שירותים המכונה יכולה לגשת. מידע נוסף זמין במאמר שיטות מומלצות להיקפים.
gcloud
כדי ליצור את המכונה מסוג A4X Max, משתמשים ב
פקודה gcloud compute instances create.
במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד בגושי קיבולת
- מקומות שמורים לעתיד במצב תזמון
כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
gcloud compute instances create INSTANCE_NAME \
--machine-type=a4x-maxgpu-4g-metal \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure \
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מכונת A4X Max. -
IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות -
IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה. -
ZONE: האזור שבו סוג המכונה שרוצים להשתמש בה זמין. צריך להשתמש באזור שנמצא באותו אזור של המדיניות למיקום קומפקטי. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF. -
RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA. -
RESERVATION: שם ההזמנה, בלוק או בלוק משנה בתוך הזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:- כדי ליצור מכונות A4X Max בכל בלוק בודד:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - כדי ליצור מכונות A4X Max בבלוק ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - כדי ליצור מכונות A4X Max בבלוק משנה ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- כדי ליצור מכונות A4X Max בכל בלוק בודד:
TERMINATION_ACTION: אם המכונה של A4X Max תופסק (STOP) או תימחק (DELETE) ב-Compute Engine בסיום תקופת שמירת המקום.-
POLICY_NAME: השם של המדיניות למיקום קומפקטי.
REST
כדי ליצור מכונה מסוג A4X Max, שולחים בקשת POST ל-method
instances.insert.
במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד בגושי קיבולת
- מקומות שמורים לעתיד במצב תזמון
כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-maxgpu-4g-metal",
"name": "INSTANCE_NAME",
"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/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
},
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה מסוג A4X Max. -
ZONE: האזור שבו סוג המכונה שרוצים להשתמש בה זמין. צריך להשתמש באזור שנמצא באותו אזור של המדיניות למיקום קומפקטי. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים. -
INSTANCE_NAME: השם של מכונת A4X Max. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה. -
IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA. -
RESERVATION: שם ההזמנה, בלוק או בלוק משנה בתוך הזמנה. כדי לראות את שם ההזמנה או את הבלוקים הזמינים, עיינו במאמר הצגת הקיבולת השמורה. בהתאם לדרישות שלכם לגבי מיקום המכונה, בוחרים באחת מהאפשרויות הבאות:- כדי ליצור מכונות A4X Max בכל בלוק בודד:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME - כדי ליצור מכונות A4X Max בבלוק ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME - כדי ליצור מכונות A4X Max בבלוק משנה ספציפי:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
- כדי ליצור מכונות A4X Max בכל בלוק בודד:
TERMINATION_ACTION: אם המכונה של A4X Max תופסק (STOP) או תימחק (DELETE) ב-Compute Engine בסיום תקופת שמירת המקום.-
PROJECT_ID: מזהה הפרויקט של המדיניות למיקום קומפקטי. -
REGION: האזור של המדיניות למיקום קומפקטי. -
POLICY_NAME: השם של המדיניות למיקום קומפקטי.
יצירת מכונה עצמאית עם 4 מעבדי GPU (NVL4)
NVL4 מחלק את דומיין NVLink כדי ליצור מכונות נפרדות ב-NVLink fabric. כדי ליצור מכונות NVL4 עצמאיות, צריך לציין איזה בלוק משנה בתוך ההזמנה רוצים לחלק למחיצות. מכיוון שכל מכונה של A4X Max פועלת באופן עצמאי, אין צורך להשתמש במדיניות למיקום קומפקטי. יש תמיכה מלאה בתקשורת NVLink עם ארבעה מעבדי GPU בתוך הצומת לעומסי עבודה בתוך המכונה.
לפני שיוצרים מכונות NVL4 עצמאיות, חשוב לשים לב לנקודות הבאות:
- טירגוט קיבולת ובלוק משנה: כדי ליצור מכונות NVL4 עצמאיות, צריך לטרגט בלוק משנה ספציפי של בקשה לשמירת מקום. היחידה האטומית של קיבולת שמורה היא בלוק משנה שלם, שהוא דומיין NVLink של 18 מכונות או 72 יחידות GPU. אי אפשר להזמין מכונות NVL4 בודדות בנפרד. כשפורסים מכונות NVL4, מקצים בלוק משנה שמור לעד 18 צמתים עצמאיים. אתם יכולים גם לשתף הזמנה של בלוק משנה מפרויקט מארח עם פרויקטים של צרכנים.
- שינויים בהגדרות ובחלוקה הסטטית למחיצות: פריסות של בלוקי משנה הן סטטיות. כדי לשנות את ההגדרות של בלוק משנה, למשל לעבור מדומיין NVLink עם
1x72כמה צמתים למכונות NVL4 עצמאיות, או להיפך, צריך למחוק את כל המכונות הקיימות בבלוק המשנה הזה לפני שיוצרים אותן מחדש עם ההגדרות החדשות. - פריסות מעורבות בבלוק משנה: אתם יכולים להקצות מכונות באותה הקצאה של בלוק משנה גם למכונות עצמאיות של Compute Engine וגם למאגרי צמתים של GKE. לדוגמה, הקצאה של 12 מכונות עצמאיות של Compute Engine לפיתוח ו-6 מכונות במאגר צמתים של GKE.
- הגדרת NCCL ו-NVLS: אם אתם מריצים עומסי עבודה מבוזרים באמצעות NCCL במכונות NVL4, השביתו את NVLink SHARP על ידי הגדרת משתנה הסביבה
NCCL_NVLS_ENABLE=0. Google Cloud לא מגדיר קבוצות CUDA multicast לתקשורת בין כמה צמתים בדומיינים מחולקים.
אם שריינתם בלוק משנה שלם, שמורכב מ-18 מכונות או 72 מעבדי GPU, ואתם רוצים לפרוס את כל 18 המכונות העצמאיות של A4X Max, הפעילו את פקודת היצירה 18 פעמים, וודאו שכל פקודה מטרגטת את אותו בלוק משנה של הזמנה.
כדי ליצור מכונה עצמאית של A4X Max עם ארבעה מעבדי GPU, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור את המכונה מסוג A4X Max, משתמשים ב
פקודה gcloud compute instances create.
במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד בגושי קיבולת
- מקומות שמורים לעתיד במצב תזמון
כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
gcloud compute instances create INSTANCE_NAME \
--machine-type=a4x-maxgpu-4g-metal \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-0 \
--network-interface=nic-type=IDPF,network=IDPF_NETWORK_PREFIX-net,stack-type=IPV6_ONLY,subnet=IDPF_NETWORK_PREFIX-sub-1,no-address \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--network-interface=subnet=default-subnet-1-RDMA_NAME_PREFIX-net,stack-type=IPV6_ONLY,nic-type=MRDMA \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME/reservationBlocks/BLOCK_NAME/reservationSubBlocks/SUB_BLOCK_NAME \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מכונת A4X Max. -
IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות -
IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה. -
ZONE: האזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF. -
RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA. -
RESERVATION_NAME: שם ההזמנה. -
BLOCK_NAME: השם של בלוק ספציפי בתוך ההזמנה. -
SUB_BLOCK_NAME: השם של הבלוק המשני הספציפי בתוך הבלוק.
TERMINATION_ACTION: אם המכונה של A4X Max תופסק (STOP) או תימחק (DELETE) ב-Compute Engine בסיום תקופת שמירת המקום.
REST
כדי ליצור את מכונת A4X Max, שולחים בקשת POST אל
ה-method instances.insert.
במכונות A4X Max אפשר להשתמש בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד בגושי קיבולת
- מקומות שמורים לעתיד במצב תזמון
כדי להשתמש בסוגים האלה של הזמנות, המכונה צריכה להשתמש במודל הקצאה שמוגבל להזמנות. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/a4x-maxgpu-4g-metal",
"name": "INSTANCE_NAME",
"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/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/IDPF_NETWORK_PREFIX-net",
"nicType": "IDPF",
"stackType": "IPV6_ONLY",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/IDPF_NETWORK_PREFIX-sub-1"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
},
{
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/default-subnet-1-RDMA_NAME_PREFIX-net",
"nicType": "MRDMA",
"stackType": "IPV6_ONLY"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME/reservationBlocks/BLOCK_NAME/reservationSubBlocks/SUB_BLOCK_NAME"
]
},
"scheduling": {
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה מסוג A4X Max. -
ZONE: האזור שבו סוג המכונה שרוצים להשתמש בה זמין. למידע על אזורים, קראו את המאמר זמינות GPU לפי אזורים ותחומים. -
INSTANCE_NAME: השם של מכונת A4X Max. -
DISK_SIZE: גודל דיסק האתחול ב-GB. למידע נוסף, קראו את המאמר מגבלות הגודל של Google Cloud Hyperdisk או מגבלות הגודל של Persistent Disk, בהתאם לסוג הדיסק. -
IMAGE_PROJECT: מזהה הפרויקט של קובץ האימג' של מערכת ההפעלה. -
IMAGE_FAMILY: משפחת קובצי האימג' של מערכת ההפעלה שבה רוצים להשתמש. רשימה של כל מערכות ההפעלה הנתמכות -
NETWORK_PROJECT_ID: מזהה הפרויקט של הרשת. -
IDPF_NETWORK_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת IDPF. -
REGION: האזור של רשת המשנה. -
RDMA_NAME_PREFIX: התחילית של השם שציינתם כשיצרתם את רשתות ה-VPC ואת רשתות המשנה שמשתמשות בכרטיסי רשת של RDMA. -
RESERVATION_NAME: שם ההזמנה. -
BLOCK_NAME: השם של בלוק ספציפי בתוך ההזמנה. -
SUB_BLOCK_NAME: השם של הבלוק המשני הספציפי בתוך הבלוק.
TERMINATION_ACTION: אם המכונה של A4X Max תופסק (STOP) או תימחק (DELETE) ב-Compute Engine בסיום תקופת שמירת המקום.
התקנת מנהלי התקנים של GPU
אחרי שיוצרים מכונה, היא לא יכולה להשתמש ב-GPU שלה אלא אם מנהלי ההתקנים הנכונים של ה-GPU כבר מותקנים. אם לא ציינתם קובץ אימג' של מערכת ההפעלה שכולל מנהלי התקנים של GPU, עיינו במאמר התקנת מנהלי התקנים של GPU במסמכי התיעוד של Compute Engine.