במאמר הזה מתוארים השלבים ליצירת מכונות עצמאיות ב-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 disks) (אזוריים או של תחום מוגדר). אפשר להשתמש רק ב-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
במסוף Google Cloud , מפעילים את 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בדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
היסודות של A4X Max
אשכול A4X Max מאורגן בהיררכיה של בלוקים ותת-בלוקים כדי לאפשר ביצועים של רשתות רחבות היקף ללא חסימה. הבנת הטופולוגיה הזו היא חיונית כשמזמינים קיבולת ומפריסים עומסי עבודה.
- מופע A4X Max
- מכונת A4X Max היא סוג מכונה יחיד של A4X Max עם 4 מעבדי GPU מצורפים.
- Sub-block
- תת-בלוק הוא יחידת הקיבולת הבסיסית של A4X Max. ב-A4X Max, תת-בלוק מורכב מ-18 מכונות A4X Max (72 GPUs). המכונות האלה יוצרות דומיין NVLink ומחוברות באמצעות מערכת multi-node 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), ומספקים את התקשורת עם רוחב הפס הגבוה וההשהיה הנמוכה שחיונית להרחבת קנה המידה למספר תת-בלוקים של A4X Max.
מידע נוסף על סידור כרטיסי רשת זמין במאמר בדיקת רוחב הפס ברשת וסידור כרטיסי הרשת.
אפשר ליצור את הרשתות באופן ידני לפי מדריכי ההוראות, או באופן אוטומטי באמצעות הסקריפט שסופק.
מדריכים להוראות
כדי ליצור את הרשתות, אפשר לפעול לפי ההוראות הבאות:
- כדי ליצור את רשתות ה-VPC הרגילות לממשקי הרשת של IDPF, אפשר לעיין במאמר בנושא יצירה וניהול של רשתות ענן וירטואלי פרטי.
- כדי ליצור רשת VPC של RoCE למכונות Bare Metal (
roce-metal), אפשר לעיין במאמר בנושא יצירת רשת של ענן וירטואלי פרטי עבור כרטיסי רשת של 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) עבור כרטיסי ה-NIC מסוג CX-8. -
ZONE: מציינים אזור שבו סוג המכונה שרוצים להשתמש בו זמין, למשלus-central1-a. מידע על אזורים זמין במאמר זמינות של GPU לפי אזורים ותחומים. -
REGION: האזור שבו רוצים ליצור את רשתות המשנה. האזור הזה צריך להתאים לאזור שצוין. לדוגמה, אם האזור הואus-central1-a, האזור הואus-central1. -
IP_RANGE: טווח כתובות ה-IP לשימוש בכללים של חומת האש של SSH. - אופציונלי: כדי לוודא שהמשאבים של רשת ה-VPC נוצרו בהצלחה, בודקים את הגדרות הרשת במסוף Google Cloud :
- נכנסים לדף VPC networks במסוף Google Cloud .
- מחפשים ברשימה את הרשתות שיצרתם בשלב הקודם.
- כדי לראות את רשתות המשנה, את כללי חומת האש והגדרות רשת אחרות, לוחצים על שם הרשת.
מחליפים את מה שכתוב בשדות הבאים:
יצירת מדיניות למיקום קומפקטי
כדי ליצור מדיניות מיקום קומפקטית, בוחרים באחת מהאפשרויות הבאות:gcloud
כדי ליצור מדיניות למיקום קומפקטי, משתמשים
בפקודה gcloud beta compute resource-policies create group-placement:
gcloud beta 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/beta/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): האפשרות הטובה ביותר לאימון מבוזר בקנה מידה גדול, לשינוי פרמטרים (fine-tuning) ולעומסי עבודה של הסקת מסקנות מרובת-צמתים שדורשים רוחב פס גבוה, תקשורת GPU עם השהיה נמוכה בין עד 18 מכונות (72 מעבדי GPU) ברשת NVLink מרובת-צמתים. צריך להשתמש במדיניות למיקום קומפקטי.
- יצירת מכונה עצמאית עם 4 יחידות GPU (NVL4): האפשרות הכי טובה לעומסי עבודה של צומת יחיד, הסקת מסקנות של מודלים קטנים יותר, עיבוד באצווה ופיתוח אינטראקטיבי שמתאים לארבע יחידות GPU ודורש רק שיתוף פעולה בין צמתים באמצעות NVLink. כדי לחלק בלוק משנה של הזמנה למקרים עצמאיים, צריך לטרגט בלוק משנה ספציפי של הזמנה. לא צריך להשתמש במדיניות למיקום קומפקטי.
יצירת מכונה בדומיין NVLink עם 72 יחידות GPU (1x72 topology)
כדי לקבל טופולוגיית 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 תומכים בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
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 ואת תת-הרשתות שמשתמשות בכרטיסי NIC של 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: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את מכונת A4X Max בסוף תקופת השמירה.-
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
REST
כדי ליצור את מכונת A4X Max, שולחים בקשת POST אל
ה-method instances.insert.
מופעי A4X Max תומכים בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
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 ואת תת-הרשתות שמשתמשות בכרטיסי NIC של 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: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את מכונת A4X Max בסוף תקופת השמירה.-
PROJECT_ID: מזהה הפרויקט של מדיניות המיקום הקומפקטית. -
REGION: האזור של מדיניות המיקום הקומפקטי. -
POLICY_NAME: השם של מדיניות המיקום הקומפקטי.
יצירת מכונה עצמאית עם 4 מעבדי GPU (NVL4)
NVL4 מחלק את דומיין NVLink כדי ליצור מופעים עצמאיים ב-NVLink fabric. כדי ליצור מכונות NVL4 עצמאיות, צריך לציין את חלוקת המשנה בתוך ההזמנה. מכיוון שכל מופע של A4X Max פועל באופן עצמאי, לא צריך להשתמש במדיניות מיקום קומפקטית. תקשורת NVLink בין ארבעה מעבדי GPU בתוך צומת נתמכת באופן מלא לעומסי עבודה (workloads) בתוך מופע.
לפני שיוצרים מופעי 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 לתקשורת בין צמתים בדומיינים מחולקים.
אם הזמנתם מראש תת-בלוק שלם, שכולל 18 מכונות וירטואליות או 72 יחידות GPU, ואתם רוצים לפרוס את כל 18 המכונות הווירטואליות העצמאיות מסוג A4X Max, צריך להריץ את פקודת היצירה 18 פעמים, ולוודא שכל פקודה מכוונת לאותו תת-בלוק של הזמנה מראש.
כדי ליצור מכונת A4X Max עצמאית עם ארבעה מעבדי GPU, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור את מכונת A4X Max, משתמשים
בפקודה gcloud compute instances create.
מופעי A4X Max תומכים בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
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 ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA. -
RESERVATION_NAME: השם של ההזמנה. -
BLOCK_NAME: השם של בלוק ספציפי בהזמנה. -
SUB_BLOCK_NAME: השם של תת-הבלוק הספציפי בתוך הבלוק.
TERMINATION_ACTION: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את מכונת A4X Max בסוף תקופת השמירה.
REST
כדי ליצור את מכונת A4X Max, שולחים בקשת POST אל
ה-method instances.insert.
מופעי A4X Max תומכים בסוגי ההזמנות הבאים:
- מקומות שמורים לעתיד ב-AI Hypercomputer
- הזמנות עתידיות במצב יומן
כדי להשתמש בסוגים האלה של הזמנות, מופע צריך להשתמש במודל הקצאת משאבים שמוגבל להזמנה. לדוגמה, משתמשים בפרמטרים הבאים ליצירה.
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 ואת תת-הרשתות שמשתמשות בכרטיסי NIC של RDMA. -
RESERVATION_NAME: השם של ההזמנה. -
BLOCK_NAME: השם של בלוק ספציפי בהזמנה. -
SUB_BLOCK_NAME: השם של תת-הבלוק הספציפי בתוך הבלוק.
TERMINATION_ACTION: האם מערכת Compute Engine תפסיק (STOP) או תמחק (DELETE) את מכונת A4X Max בסוף תקופת השמירה.
התקנת דרייברים של GPU
אחרי שיוצרים מופע, המופע לא יכול להשתמש ב-GPU שלו אלא אם מנהלי ההתקנים הנכונים של ה-GPU כבר מותקנים. אם לא ציינתם תמונת מערכת הפעלה שכוללת מנהלי התקנים של GPU, תוכלו לעיין במאמר התקנת מנהלי התקנים של GPU במסמכי התיעוד של Compute Engine.