בדף הזה מוסבר איך להגדיר GPU למאגרי העובדים של Cloud Run. Google מספקת GPU NVIDIA RTX PRO 6000 Blackwell עם זיכרון GPU (VRAM) בנפח 96GB ו-GPU NVIDIA L4 עם זיכרון GPU (VRAM) בנפח 24GB, שהוא נפרד מזיכרון המופע.
ה-GPU ב-Cloud Run מנוהל באופן מלא, ולא נדרשים מנהלי התקנים או ספריות נוספים. תכונת ה-GPU מציעה זמינות על פי דרישה ללא צורך בהזמנות, בדומה לאופן שבו CPU על פי דרישה וזיכרון על פי דרישה פועלים ב-Cloud Run.
מופעים של Cloud Run עם יחידת GPU מסוג NVIDIA RTX PRO 6000 Blackwell או L4 עם דרייברים מותקנים מראש מתחילים לפעול תוך כ-5 שניות, ובשלב הזה התהליכים שפועלים בקונטיינר יכולים להתחיל להשתמש ב-GPU.
אפשר להגדיר GPU אחד לכל מופע של Cloud Run. אם משתמשים במאגרי sidecar, חשוב לזכור שאפשר לצרף את ה-GPU רק למאגר אחד.
סוגי GPU נתמכים
Cloud Run תומך בשני סוגים של יחידות GPU:
- כרטיס מסך מדגם NVIDIA RTX PRO 6000 Blackwell עם גרסת מנהל ההתקן הנוכחית של NVIDIA: 580.xx (13.0). עבור כרטיס מסך מדגם NVIDIA RTX PRO 6000 Blackwell, עליך להשתמש במעבד מינימלי של 20 רכיבים וזיכרון של 80 ג'יגה-בייט.
- כרטיס מסך L4 עם גרסת מנהל ההתקן הנוכחית של NVIDIA: 580.xx (13.0). ב-GPU מסוג L4, צריך להשתמש ב-4 מעבדים לפחות ובזיכרון בנפח 16GiB.
אזורים נתמכים
האזורים הבאים נתמכים על ידי כרטיס המסך NVIDIA RTX PRO 6000 Blackwell:
asia-southeast1(סינגפור).asia-south2(דלהי, הודו).europe-west4(הולנד)רמה נמוכה של CO2
us-central1(אייווה)רמה נמוכה של CO2
האזורים הבאים נתמכים על ידי L4 GPU:
asia-southeast1(סינגפור)asia-south1(מומבאי) <0x האזור הזה זמין רק בהזמנה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.europe-west1(בלגיה)רמה נמוכה של CO2
europe-west4(הולנד)רמה נמוכה של CO2
us-central1(אייווה)רמה נמוכה של CO2 . יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
us-east4(צפון וירג'יניה). יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
השפעה על התמחור
פרטים על תמחור של GPU זמינים במאמר תמחור של Cloud Run. שימו לב לדרישות ולשיקולים הבאים:
- יש הבדל בעלות בין יתירות אזורית של GPU לבין יתירות לא אזורית. פרטים על תמחור של GPU זמינים במאמר תמחור של Cloud Run.
- לא ניתן לשנות קנה מידה אוטומטי של מאגרי עובדי GPU. אתה מחויב עבור ה-GPU גם אם ה-GPU אינו מפעיל תהליך כלשהו, וכל עוד מופע ה-GPU של מאגר העובדים פועל.
- התמחור של מעבד וזיכרון למאגרי עובדים שונה מהתמחור של שירותים ומשימות. עם זאת, מחירו של SKU של GPU זהה למחירו של שירותים ועבודות.
- הגדרות המעבד (CPU) והזיכרון של המשאב.
- ה-GPU מחויב עבור כל מחזור החיים של המופע.
אפשרויות של יתירות אזורית של GPU
כברירת מחדל, Cloud Run פורס את מאגר העובדים שלכם בכמה אזורים בתוך אזור. הארכיטקטורה הזו מספקת חוסן מובנה: אם יש הפסקת חשמל באזור מסוים, Cloud Run מעביר באופן אוטומטי את התעבורה מהאזור המושפע לאזורים תקינים באותו אזור.
בעת עבודה עם משאבי GPU, יש לזכור שלמשאבי GPU יש מגבלות קיבולת ספציפיות. במהלך הפסקת חשמל אזורית, מנגנון המעבר לגיבוי (failover) הרגיל לעומסי עבודה של GPU מסתמך על כך שקיבולת GPU פנויה מספקת תהיה זמינה באזורים הבריאים שנותרו. בגלל המגבלות של מעבדי GPU, יכול להיות שהקיבולת הזו לא תמיד תהיה זמינה.
כדי לשפר את הזמינות של מאגרי העובדים עם האצת GPU במהלך הפסקות חשמל אזוריות, אפשר להגדיר יתירות אזורית במיוחד עבור מעבדי GPU:
יתירות אזורית מופעלת (ברירת מחדל): Cloud Run שומר קיבולת GPU עבור מאגר העובדים שלך על פני מספר אזורים. הפעולה הזו מגדילה באופן משמעותי את הסיכוי שמאגר העובדים יוכל לטפל בהצלחה בתנועה שהופנתה מחדש מאזור מושפע, ומציעה אמינות גבוהה יותר במהלך כשלים אזוריים עם עלות נוספת לשנייה לכל GPU.
יתירות אזורית כבויה: Cloud Run מנסה לבצע יתירות כשל לעומסי עבודה של GPU על בסיס מאמץ מיטבי. התנועה מנותבת לאזורים אחרים רק אם יש מספיק קיבולת של GPU באותו רגע. האפשרות הזו לא מבטיחה קיבולת שמורה לתרחישי יתירות כשל, אבל העלות שלה נמוכה יותר לשנייה של GPU.
SLA
הסכם ה-SLA עבור Cloud Run GPU תלוי אם מאגר העובדים משתמש באפשרות יתירות אזורית או יתירות לא אזורית. לפרטים נוספים, עיינו בדף הסכם רמת השירות (SLA).
בקשה להגדלת מכסה
המיכסה של יחידות GPU ב-Cloud Run nvidia-rtx-pro-6000 ניתנת במילי-GPU.
פרויקטים המשתמשים ב-GPU של nvidia-rtx-pro-6000 באזור בפעם הראשונה יקבלו אוטומטית מכסת 3,000 מילי-GPU (יתירות אזורית כבויה) בעת יצירת הפריסה הראשונה. זה שווה ערך ל-3 כרטיסי מסך. פרויקטים המשתמשים במעבדי גרפיים של Cloud Run nvidia-l4 באזור בפעם הראשונה מקבלים אוטומטית מכסת 3 מעבדים גרפיים (יתירות אזורית כבויה) בעת יצירת הפריסה הראשונה.
אם אתם זקוקים למעבדים גרפיים נוספים של Cloud Run, עליכם לבקש הגדלת מכסה עבור מאגר העובדים של Cloud Run שלכם. כדי לבקש את המכסה שדרושה לכם, לוחצים על הקישורים שמופיעים בלחצנים הבאים.
| נדרשת מכסה | קישור למכסה |
|---|---|
| כרטיס מסך מדגם NVIDIA RTX PRO 6000 Blackwell עם יתירות אזורית כבויה כבויה (מחיר נמוך יותר) | בקשת מכסת GPU ללא יתירות אזורית |
| NVIDIA RTX PRO 6000 Blackwell GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) | בקשת מכסת GPU עם יתירות אזורית |
| L4 GPU עם יתירות אזורית מושבתת (מחיר נמוך יותר) | בקשת מכסת GPU ללא יתירות אזורית |
| L4 GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) | בקשת מכסת GPU עם יתירות אזורית |
מידע נוסף על בקשות להגדלת מכסות זמין במאמר איך מגדילים את המכסה.
לפני שמתחילים
ברשימה הבאה מפורטות הדרישות והמגבלות כשמשתמשים ב-GPU ב-Cloud Run:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
הפעל את ממשק ה-API של Cloud Run.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים- שליחת בקשה להגדלת המכסה.
- עיין ב-שיטות עבודה מומלצות ל-GPU: מאגרי worker של Cloud Run עם GPUs לקבלת המלצות לבניית קובץ אימג' של קונטיינר וטעינת מודלים גדולים.
- ודא שבריכת העובדים של Cloud Run שלך כוללת את התצורות הבאות:
- הגדר את הגדרות החיוב לחיוב מבוסס-מופעים. הערה: מאגרי עובדים שהוגדר להם חיוב מבוסס-אינסטנס עדיין יכולים להצטמצם לאפס.
- ב-GPU NVIDIA RTX PRO 6000 Blackwell, צריך להגדיר לפחות 20 מעבדים ולפחות 80 GiB של זיכרון.
- עבור GPU L4, הגדר מינימום של 4 CPUs עבור מאגר העובדים שלך, כאשר מומלץ 8 CPUs, ומינימום של 16 GiB של זיכרון, כאשר מומלץ 32 GiB.
- קבע וקבע ערך מקביליות מרבי אופטימלי לשימוש ב-GPU שלך.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של מאגרי עובדים ב-Cloud Run, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ב-workerpools:
- Cloud Run Developer (
roles/run.developer) – מאגר העובדים של Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) – זהות השירות
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם מאגר העובדים של Cloud Run שלך מתממשק עםGoogle Cloud ממשקי API, כגון ספריות לקוח ענן, ראו אתמדריך תצורת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרת מאגר עובדים ב-Cloud Run עם GPU
כל שינוי בהגדרות מוביל ליצירה של גרסה חדשה. גרסאות עוקבות יקבלו גם הן אוטומטית הגדרת תצורה זו, אלא אם כן תבצעו עדכונים מפורשים כדי לשנות אותה.
ניתן להשתמש ב- Google Cloud קונסולה, ב-Google Cloud CLI או ב-YAML כדי להגדיר את ה-GPU.
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט הניווט של Cloud Run, בוחרים באפשרות Worker Pools (מאגרי עובדים) ולוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר מאגר עובדים חדש. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של עדכון חדש).
אם אתם מגדירים מאגר עובדים חדש, מלאו את דף ההגדרות הראשוניות של מאגר העובדים, לאחר מכן לחצו על מכולות, רשת, אבטחה כדי להרחיב את דף תצורת מאגר העובדים.
לוחצים על הכרטיסייה Containers (מאגרי תגים).
- מגדירים את המעבד, הזיכרון, הבו-זמניות (concurrency), סביבת ההרצה ובקשת בדיקת התקינות (probe) בהתאם להמלצות שבקטע לפני שמתחילים.
- סמן את תיבת הסימון של ה-GPU, לאחר מכן בחר את סוג ה-GPU מהתפריט סוג GPU, ואת מספר ה-GPU מהתפריט מספר ה-GPU.
- כברירת מחדל, יתירות אזורית מופעלת. כדי לשנות את ההגדרה הנוכחית, מסמנים את תיבת הסימון GPU כדי להציג את האפשרויות של GPU redundancy (יתירות GPU).
- בוחרים באפשרות ללא יתירות אזורית כדי להשבית את היתירות האזורית.
- בחר יתירות אזורית כדי להפעיל יתירות אזורית.
לוחצים על יצירה או על פריסה.
gcloud
כדי ליצור מאגר עובדים עם GPU, משתמשים בפקודה gcloud run worker-pools deploy:
gcloud run worker-pools deploy WORKER_POOL \ --image IMAGE_URL \ --gpu 1
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים של Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, כמוus-docker.pkg.dev/cloudrun/container/worker-pool:latest.
כדי לעדכן את הגדרות ה-GPU של מאגר עובדים, משתמשים בפקודה gcloud run worker-pools update:
gcloud run worker-pools update WORKER_POOL \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --GPU_ZONAL_REDUNDANCY
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים של Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, כמוus-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: מספר ליבות ה-CPU. עבור NVIDIA RTX PRO 6000 Blackwell GPU,
צריך לציין לפחות
20CPU. עבור NVIDIA L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: כמות הזיכרון. במקרה של NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
80Gi (80 GiB). עבור NVIDIA L4 GPU, צריך לציין לפחות16Gi(16 GiB). - GPU_NUMBER: הערך
1(אחד). אם לא מציינים את הפרמטר הזה אבל מציינים GPU_TYPE, ברירת המחדל היא1. - GPU_TYPE: סוג ה-GPU. NVIDIA RTX PRO 6000 Blackwell GPU,
enter
nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערךnvidia-l4(nvidia-L4 באותיות קטנות, לא הערך המספרי 14). - GPU_ZONAL_REDUNDANCY:
no-gpu-zonal-redundancyכדי לכבות יתירות אזורית, אוgpu-zonal-redundancyכדי להפעיל יתירות אזורית.
YAML
אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, מורידים את הגדרת ה-YAML שלו:
gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
מעדכנים את המאפיין
nvidia.com/gpu:ואתnodeSelector::
run.googleapis.com/accelerator:apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים של Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, כמוus-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: מספר המעבדים. עבור NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
20מעבדים. עבור GPU L4, עליך לציין לפחות4CPU. - MEMORY: כמות הזיכרון. במקרה של NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
80Gi (80 GiB). עבור L4 GPU, צריך לציין לפחות16Gi (16 GiB). - GPU_TYPE: סוג ה-GPU. אם משתמשים ב-GPU NVIDIA RTX PRO 6000 Blackwell, מזינים
nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערךnvidia-l4(nvidia-L4 באותיות קטנות, לא הערך המספרי 14). - GPU_ZONAL_REDUNDANCY:
falseלהפעלת יתירות אזורית של GPU אוtrueלהשבתה שלה.
יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
gcloud run worker-pools replace worker-pool.yaml
אם קיים קובץ
worker-pool.yaml, הפקודהgcloud run worker-pools replaceמשתמשת בו כברירת מחדל.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
provider = google-beta
name = "WORKER_POOL"
location = "REGION"
template {
gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
containers {
image = "IMAGE_URL"
resources {
limits = {
"cpu" = "CPU"
"memory" = "MEMORY"
"nvidia.com/gpu" = "1"
}
}
}
node_selector {
accelerator = "GPU_TYPE"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
- WORKER_POOL: השם של מאגר העובדים של Cloud Run.
- GPU_ZONAL_REDUNDANCY:
falseלהפעלת יתירות אזורית של GPU אוtrueלהשבתה שלה. -
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר שמכיל את מאגר העובדים, כמוus-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: מספר המעבדים. עבור NVIDIA RTX PRO 6000 Blackwell GPU,
צריך לציין לפחות
20CPU. עבור NVIDIA L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: כמות הזיכרון. במקרה של NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
80Gi (80 GiB). עבור NVIDIA L4 GPU, צריך לציין לפחות16Gi(16 GiB). - GPU_TYPE: סוג ה-GPU. NVIDIA RTX PRO 6000 Blackwell GPU,
enter
nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערךnvidia-l4(nvidia-L4 באותיות קטנות, לא הערך המספרי 14).
צפייה בהגדרות של GPU
כדי לראות את הגדרות ה-GPU הנוכחיות של מאגר העובדים ב-Cloud Run:
המסוף
ב- Google Cloud במסוף, עבור לדף מאגרי העובדים של Cloud Run:
לחץ על מאגר העובדים שמעניין אותך כדי לפתוח את דף פרטי מאגרי העובדים.
לוחצים על עריכה ופריסה של גרסה חדשה.
מחפשים את הגדרת ה-GPU בפרטי ההגדרה.
gcloud
משתמשים בפקודה הבאה:
gcloud run worker-pools describe WORKER_POOL
מחפשים את הגדרת ה-GPU בהגדרה שמוחזרת.
הסרת ה-GPU
אפשר להסיר GPU באמצעות מסוף Google Cloud , Google Cloud CLI או YAML.
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט הניווט של Cloud Run, בוחרים באפשרות Worker Pools (מאגרי עובדים) ולוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר מאגר עובדים חדש. אם אתם מגדירים מאגר עובדים קיים, לוחצים על מאגר העובדים ואז על Edit and deploy new revision (עריכה ופריסה של עדכון חדש).
אם אתם מגדירים מאגר עובדים חדש, מלאו את דף ההגדרות הראשוניות של מאגר העובדים, לאחר מכן לחצו על מכולות, רשת, אבטחה כדי להרחיב את דף תצורת מאגר העובדים.
לוחצים על הכרטיסייה Containers (מאגרי תגים).
- בטל את הסימון בתיבת הסימון של GPU.
- לוחצים על יצירה או על פריסה.
gcloud
כדי להסיר את ה-GPU, הגדר את מספר ה-GPU ל-0:
gcloud run worker-pools update WORKER_POOL --gpu 0
מחליפים את WORKER_POOL בשם של מאגר העובדים של Cloud Run.
YAML
אם אתם יוצרים מאגר עובדים חדש, דלגו על השלב הזה. אם אתם מעדכנים מאגר עובדים קיים, מורידים את הגדרת ה-YAML שלו:
gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
מוחקים את השורות
nvidia.com/gpu:ו-nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.יוצרים או מעדכנים את מאגר העובדים באמצעות הפקודה הבאה:
gcloud run worker-pools replace worker-pool.yaml
אם קיים קובץ
worker-pool.yaml, הפקודהgcloud run worker-pools replaceמשתמשת בו כברירת מחדל.
ספריות של מנהלי התקנים
כברירת מחדל, כל ספריות הדרייברים של כרטיסי המסך NVIDIA RTX PRO 6000 Blackwell ושל כרטיס המסך NVIDIA L4 מורכבות תחת /usr/local/nvidia/lib64. Cloud Run מוסיף אוטומטית נתיב זה למשתנה הסביבה LD_LIBRARY_PATH (כלומר ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) של המכולה עם ה-GPU. כך המקשר הדינמי יכול למצוא את ספריות מנהלי ההתקנים של NVIDIA. ה-linker מחפש ומזהה נתיבים לפי הסדר שמופיע במשתנה הסביבה LD_LIBRARY_PATH. לכל ערך שמציינים במשתנה הזה יש עדיפות על פני נתיב ברירת המחדל של ספריות מנהלי התקנים של Cloud Run /usr/local/nvidia/lib64.
אם ברצונך להשתמש בגרסת CUDA גבוהה מ-13.0, הדרך הקלה ביותר היא להסתמך על תמונה בסיסית חדשה יותר של NVIDIA עם חבילות תאימות קדימה שכבר מותקנות בהן. אפשרות נוספת היא להתקין ידנית את חבילות התאימות קדימה של NVIDIA ולהוסיף אותן ל-LD_LIBRARY_PATH. כדאי לעיין בטבלת התאימות של NVIDIA כדי לדעת אילו גרסאות של CUDA תואמות לגרסת מנהל ההתקן של NVIDIA שסופקה.