בדף הזה מוסבר איך להגדיר GPU בשירותי Cloud Run. מעבדי GPU מתאימים לעומסי עבודה של הסקת AI, כמו מודלים גדולים של שפה (LLM) או תרחישים אחרים שדורשים הרבה משאבי מחשוב ולא קשורים ל-AI, כמו המרת קידוד של וידאו ורינדור תלת-ממדי. 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 לאפס כשהן לא בשימוש.
מכונות של Cloud Run עם GPU מסוג NVIDIA RTX PRO 6000 Blackwell או GPU מסוג L4 עם מנהלי התקנים מותקנים מראש מתחילות לפעול תוך כ-5 שניות, ואז התהליכים שפועלים בקונטיינר יכולים להתחיל להשתמש ב-GPU.
אפשר להגדיר GPU אחד לכל מכונה של Cloud Run. אם אתם משתמשים בקונטיינרים משניים (sidecar), שימו לב שאפשר לצרף את ה-GPU רק לקונטיינר אחד.
סוגי ה-GPU הנתמכים
ב-Cloud Run יש תמיכה בשני סוגים של מעבדים גרפיים:
- NVIDIA RTX PRO 6000 Blackwell GPU עם גרסת הדרייבר הנוכחית של NVIDIA: 580.x.x (13.0). ל-NVIDIA RTX PRO 6000 Blackwell GPU, צריך להשתמש במינימום של 20 מעבדים (CPU) ו-80GiB זיכרון.
- L4 GPU עם גרסת הדרייבר הנוכחית של NVIDIA: 580.x.x (13.0). במעבדי GPU מסוג L4, צריך להשתמש ב-4 מעבדים לפחות ובזיכרון בנפח 16GiB.
אזורים נתמכים
האזורים הבאים נתמכים על ידי NVIDIA RTX PRO 6000 Blackwell GPU:
asia-southeast1(סינגפור).asia-south2(דלהי, הודו).-
europe-west4(הולנד)רמה נמוכה של CO2
us-central1(אייווה)רמה נמוכה של CO2
האזורים הבאים נתמכים על ידי L4 GPU:
asia-southeast1(סינגפור)asia-south1(מומבאי) . האזור הזה זמין רק בהזמנה. אם אתם מעוניינים באזור הזה, פנו לצוות התמיכה בחשבונות Google.-
europe-west1(בלגיה)רמה נמוכה של CO2
-
europe-west4(הולנד)רמה נמוכה של CO2
us-central1(איווה)רמה נמוכה של CO2 . יכול להיות שצריך לבקש הגדלה של המכסה כדי להרחיב את המשאבים באזור הזה. אם אתם מעוניינים באזור הזה, פנו לצוות התמיכה בחשבונות Google.
us-east4(צפון וירג'יניה) . יכול להיות שצריך לבקש הגדלה של המכסה כדי להרחיב את המשאבים באזור הזה. אם אתם מעוניינים באזור הזה, פנו לצוות התמיכה בחשבונות Google.
ההשפעה על המחיר
במחירון של Cloud Run תוכלו לראות את מחירי ה-GPU. שימו לב לדרישות ולשיקולים הבאים:
- אין עמלות לכל בקשה. כדי להשתמש בתכונת ה-GPU, צריך להשתמש בחיוב מבוסס-מכונה. המכונות המינימליות מחויבות בתעריף המלא גם כשהן במצב חוסר פעילות.
- יש הבדל בעלות בין יתירות אזורית של GPU לבין יתירות לא אזורית. במחירון של Cloud Run מפורטים המחירים של יחידות ה-GPU.
- כשפורסים שירות או פונקציה של Cloud Run מקוד מקור עם מעבדי GPU מופעלים, Cloud Run משתמש בסוג המכונה
e2-highcpu-8במקום בסוג המכונה שמוגדר כברירת מחדל (e2-standard-2) כדי ליצור את קוד המקור. מכונה מסוג גדול יותר מספקת תמיכה ב-CPU גבוה יותר ורוחב פס גדול יותר ברשת, וכך זמני ה-build מהירים יותר. - הגדרות המעבד (CPU) והזיכרון של המשאב.
- החיוב על GPU הוא על כל משך מחזור החיים של המכונה.
אפשרויות יתירות אזורית של GPU
כברירת מחדל, Cloud Run פורס את השירות בכמה אזורים בתוך אזור. הארכיטקטורה הזו מספקת עמידות מובנית: אם יש הפסקה זמנית בשירות באזור מסוים, Cloud Run מנתב באופן אוטומטי את התנועה מהאזור המושפע לאזורים תקינים באותו אזור.
כשעובדים עם משאבי GPU, חשוב לזכור שיש להם מגבלות קיבולת ספציפיות. במהלך הפסקה זמנית בשירות באזור, מנגנון יתירות הכשל הרגיל של עומסי עבודה ב-GPU מסתמך על כך שיש מספיק קיבולת GPU שלא מנוצלת באזורים התקינים שנותרו. בגלל האופי המוגבל של מעבדי GPU, יכול להיות שהקיבולת הזו לא תמיד תהיה זמינה.
כדי להגביר את הזמינות של השירותים שמופעלים באמצעות GPU בזמן הפסקות זמניות בשירות באזורים, אתם יכולים להגדיר יתירות אזורית ספציפית ל-GPU:
יתירות אזורית מופעלת (ברירת המחדל): Cloud Run שומר קיבולת GPU לשירות שלכם בכמה אזורים. כך גדלה משמעותית הסבירות שהשירות שלכם יוכל לטפל בהצלחה בתנועה שנותבה מחדש מאזור שהושפע, והאמינות גבוהה יותר במהלך כשלים אזוריים, בעלות נוספת לכל שנייה של GPU.
יתירות אזורית מושבתת: Cloud Run מנסה להעביר את עומסי העבודה של ה-GPU למצב של יתירות כשל, ככל שניתן. התנועה מנותבת לתחומים אחרים רק אם יש מספיק קיבולת GPU זמינה באותו רגע. האפשרות הזו לא מבטיחה קיבולת שמורה לתרחישים של יתירות כשל, אבל היא מוזילה את העלות לשניית GPU.
SLA
הסכם ה-SLA של Cloud Run GPU תלוי באפשרות שבה משתמשים בשירות: יתירות אזורית או יתירות לא אזורית. פרטים נוספים זמינים בדף הסכם SLA.
שליחת בקשה להגדלת המכסה
המכסה של GPU מסוג nvidia-rtx-pro-6000 ב-Cloud Run ניתנת ב-milliGPU.
בפרויקטים שמשתמשים ב-GPU מסוג nvidia-rtx-pro-6000 באזור מסוים בפעם הראשונה, תוקצה באופן אוטומטי מכסה של 3,000mGPU (כשהיתירות האזורית מושבתת) כשהפריסה הראשונה תיווצר. זה שווה ערך ל-3 מעבדי GPU. בפרויקטים שמשתמשים ב-nvidia-l4 GPUs ב-Cloud Run באזור מסוים בפעם הראשונה, מוקצית באופן אוטומטי מכסה של 3 GPUs (כשהיתירות האזורית מושבתת) כשיוצרים את הפריסה הראשונה.
אם אתם צריכים עוד מעבדים גרפיים ב-Cloud Run, אתם צריכים לבקש הגדלה של המכסה בשירות Cloud Run. כדי לבקש את המכסה שאתם צריכים, השתמשו בקישורים שמופיעים בלחצנים הבאים.
| צריך מכסה | קישור למכסה |
|---|---|
| NVIDIA RTX PRO 6000 Blackwell GPU עם יתירות אזורית מושבתת (מחיר נמוך יותר) | בקשת מכסת GPU בלי יתירות אזורית |
| NVIDIA RTX PRO 6000 Blackwell GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) | בקשת מכסת GPU עם יתירות אזורית |
| L4 GPU עם יתירות אזורית מושבתת (מחיר נמוך יותר) | בקשת מכסת GPU בלי יתירות אזורית |
| L4 GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) | בקשת מכסת GPU עם יתירות אזורית |
לפני שמתחילים
ברשימה הבאה מפורטות הדרישות והמגבלות כשמשתמשים במעבדים גרפיים ב-Cloud Run:
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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.
-
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.
מפעילים את Cloud Run API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים- שליחת בקשה למכסה הנדרשת.
- במאמר שיטות מומלצות: הסקת AI ב-Cloud Run עם מעבדי GPU מפורטות המלצות ליצירת קובץ אימג' של קונטיינר ולטעינת מודלים גדולים.
- מוודאים שהגדרות השירות ב-Cloud Run הן:
- מגדירים את החיוב לפי מכונה. שימו לב ששירותים שמוגדרים לחיוב לפי מכונה עדיין יכולים לצמצם את הפעולה לאפס.
- ל-NVIDIA RTX PRO 6000 Blackwell GPU, צריך להגדיר לפחות 20 מעבדי CPU ו-80GiB זיכרון.
- ל-L4 GPU, מגדירים מינימום של 4 מעבדי CPU לשירות (מומלץ 8 מעבדי CPU) ומינימום של זיכרון בנפח 16GiB (מומלץ 32GiB).
- קובעים ומגדירים מספר מקסימלי אופטימלי של בקשות בו-זמניות לשימוש ב-GPU.
- הערך של Maximum instances צריך להיות נמוך מהערך של quota per project per region for GPU. מידע נוסף זמין במאמר מידע על מעבדי GPU ומספר המכונות המקסימלי.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרה ולפריסה של שירותי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בשירותים:
- מפתח Cloud Run (
roles/run.developer) – שירות Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) – זהות השירות
אם אתם פורסים שירות או פונקציה מקוד מקור, אתם צריכים גם תפקידים נוספים בפרויקט ובחשבון השירות של Cloud Build.
רשימה של תפקידים והרשאות ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתממשק עם ממשקי API שלGoogle Cloud , כמו ספריות הלקוח ב-Cloud, עיינו במדריך להגדרת זהות השירות. מידע נוסף על הקצאת תפקידים זמין במאמרים הרשאות פריסה וניהול הגישה.
הגדרת שירות Cloud Run עם GPU
כל שינוי בהגדרות יוצר גרסה חדשה. גם גרסאות עתידיות יקבלו באופן אוטומטי את הגדרת התצורה הזו, אלא אם תבצעו עדכונים מפורשים כדי לשנות אותה.
אפשר להגדיר את ה-GPU באמצעות מסוף Google Cloud , Google Cloud CLI או YAML.
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט הניווט של Cloud Run, לוחצים על Services:
אם אתם מגדירים שירות חדש, לוחצים על Deploy container וממלאים את דף הגדרות השירות הראשוני. לאחר מכן לוחצים על Containers, Networking, Security כדי להרחיב את דף הגדרת השירות.
אם אתם מגדירים שירות קיים, לוחצים על השירות.
לוחצים על הכרטיסייה מאגרי תגים.
מגדירים את המעבד (CPU), הזיכרון, בו-זמניות, סביבת ההפעלה ובדיקת ההפעלה בהתאם להמלצות בקטע לפני שמתחילים.
מסמנים את התיבה GPU, ובוחרים את סוג ה-GPU ואת מספר יחידות ה-GPU מהתפריטים המתאימים.
כברירת מחדל, יתירות אזורית מופעלת בשירותים חדשים. אם מסמנים את התיבה GPU, מוצגות האפשרויות של GPU redundancy.
- כדי להשבית את היתירות האזורית, בוחרים באפשרות No zonal redundancy.
- כדי להפעיל את היתירות האזורית, בוחרים באפשרות Zonal redundancy.
כדי ליצור שירות חדש, לוחצים על יצירה. לוחצים על View diff & redeploy ואז על Deploy changes בשירות קיים.
gcloud
כדי ליצור שירות עם GPU מופעל, משתמשים בפקודה gcloud run deploy:
כדי לפרוס קונטיינר:
gcloud run deploy SERVICE \ --image IMAGE_URL \ --gpu 1
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. הפורמט של כתובת ה-URL הואLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
כדי לפרוס מקוד מקור:
gcloud run deploy SERVICE \ --source . \ --gpu 1
כדי לעדכן את הגדרת ה-GPU של שירות, משתמשים בפקודה gcloud run services update. לדוגמה, כדי לעדכן שירות קיים שמציין קובץ אימג' של קונטיינר:
gcloud run services update SERVICE \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --no-cpu-throttling \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --max-instances MAX_INSTANCE --GPU_ZONAL_REDUNDANCY
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. הפורמט של כתובת ה-URL הואLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CPU: מספר המעבדים. ב-NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות
20מעבדים. ב-L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: נפח הזיכרון. ב-NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות
80Gi(80GiB). ב-L4 GPU, צריך לציין לפחות16Gi (16GiB). - GPU_NUMBER: הערך
1(אחד). אם לא מציינים את הערך הזה אבל יש GPU_TYPE, ברירת המחדל היא1. - GPU_TYPE: סוג ה-GPU. NVIDIA RTX PRO 6000 Blackwell GPU,
הזינו
nvidia-rtx-pro-6000. ל-GPU מסוג L4, מזינים את הערךnvidia-l4(nvidia-L, האות L קטנה 4 פעמים, לא הערך המספרי 14). - MAX_INSTANCE: המספר המקסימלי של המכונות. המספר הזה לא יכול להיות גדול ממכסת ה-GPU שהוקצתה לפרויקט.
- GPU_ZONAL_REDUNDANCY: הערך
no-gpu-zonal-redundancyכדי להשבית את היתירות האזורית, או הערךgpu-zonal-redundancyכדי להפעיל אותה.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, הורידו את הגדרת ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את המאפיין
nvidia.com/gpu:וגם:nodeSelector::
run.googleapis.com/accelerator:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX_INSTANCE' run.googleapis.com/cpu-throttling: 'false' run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL ports: - containerPort: CONTAINER_PORT name: http1 resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' # Optional: use a longer startup probe to allow long starting containers startupProbe: failureThreshold: 1800 periodSeconds: 1 tcpSocket: port: CONTAINER_PORT timeoutSeconds: 1 nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
-
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. הפורמט של כתובת ה-URL הואLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CONTAINER_PORT: יציאת הקונטיינר שהוגדרה לשירות.
- CPU: מספר המעבדים. ב-GPU מסוג NVIDIA RTX PRO 6000 Blackwell, צריך לציין לפחות
20מעבדים. ב-L4 GPU, צריך לציין לפחות4מעבדי CPU. - MEMORY: נפח הזיכרון. ב-NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות
80Gi(80GiB). ב-L4 GPU, צריך לציין לפחות16Gi (16GiB). - GPU_TYPE: סוג ה-GPU. NVIDIA RTX PRO 6000 Blackwell GPU,
הזינו
nvidia-rtx-pro-6000. ל-GPU מסוג L4, מזינים את הערךnvidia-l4(nvidia-L, האות L קטנה 4 פעמים, לא הערך המספרי 14). - MAX_INSTANCE: המספר המקסימלי של המכונות. המספר הזה לא יכול להיות גדול ממכסת ה-GPU שהוקצתה לפרויקט.
- GPU_ZONAL_REDUNDANCY: הערך
falseכדי להפעיל את היתירות האזורית של ה-GPU, או הערךtrueכדי להשבית אותה.
יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
כברירת מחדל, הפקודה
gcloud run services replaceמשתמשת בקובץservice.yamlאם הוא קיים.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את הקוד הבא למשאבgoogle_cloud_run_v2_service בתצורה של Terraform:resource "google_cloud_run_v2_service" "default" {
provider = google-beta
name = "SERVICE"
location = "europe-west1"
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"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
- GPU_ZONAL_REDUNDANCY: הערך
falseכדי להפעיל את היתירות האזורית של ה-GPU, או הערךtrueכדי להשבית אותה. -
IMAGE_URL: הפניה לקובץ האימג' של הקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. הפורמט של כתובת ה-URL הואLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CPU: מספר המעבדים. ב-NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות
20מעבדים. ב-L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: נפח הזיכרון. ב-GPU מסוג NVIDIA RTX PRO 6000 Blackwell, צריך לציין לפחות
80Gi(80GiB). ב-L4 GPU, צריך לציין לפחות16Gi(16 GiB). - GPU_TYPE: סוג ה-GPU. ל-GPU מסוג NVIDIA RTX PRO 6000 Blackwell, מזינים
nvidia-rtx-pro-6000. ל-GPU מסוג L4, מזינים את הערךnvidia-l4(nvidia-L, האות L קטנה 4 פעמים, לא הערך המספרי 14).
הצגת הגדרות ה-GPU
כדי לראות את ההגדרות הנוכחיות של ה-GPU בשירות Cloud Run:
המסוף
נכנסים לדף Services של Cloud Run במסוף Google Cloud :
לוחצים על השירות הרצוי כדי לפתוח את הדף Service details.
לוחצים על הכרטיסייה מאגרי תגים כדי לראות את ההגדרות.
gcloud
משתמשים בפקודה הבאה:
gcloud run services describe SERVICE
מאתרים את הגדרת ה-GPU בהגדרות שמוחזרות.
הסרת ה-GPU
אפשר להסיר GPU באמצעות מסוף Google Cloud , Google Cloud CLI או YAML.
המסוף
נכנסים ל-Cloud Run במסוף Google Cloud :
בתפריט הניווט של Cloud Run, לוחצים על Services:
אם אתם מגדירים שירות חדש, לוחצים על Deploy container וממלאים את דף הגדרות השירות הראשוני. לאחר מכן לוחצים על Containers, Networking, Security כדי להרחיב את דף הגדרת השירות.
אם אתם מגדירים שירות קיים, לוחצים על השירות.
לוחצים על הכרטיסייה מאגרי תגים.
מבטלים את הסימון בתיבה GPU.
כדי ליצור שירות חדש, לוחצים על יצירה. לוחצים על View diff & redeploy ואז על Deploy changes בשירות קיים.
gcloud
כדי להסיר את ה-GPU, מגדירים את מספר יחידות ה-GPU ל-0 באמצעות הפקודה gcloud run services update:
gcloud run services update SERVICE --gpu 0
מחליפים את SERVICE בשם של שירות Cloud Run.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, הורידו את הגדרת ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מוחקים את השורות
nvidia.com/gpu:ו-nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
כברירת מחדל, הפקודה
gcloud run services replaceמשתמשת בקובץservice.yamlאם הוא קיים.
ספריות של מנהלי התקנים
כברירת מחדל, כל ספריות הדרייברים של NVIDIA RTX PRO 6000 Blackwell GPU ו-NVIDIA L4 GPU מותקנות ב-/usr/local/nvidia/lib64. Cloud Run מוסיף באופן אוטומטי את הנתיב הזה למשתנה הסביבה LD_LIBRARY_PATH (כלומר ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) של הקונטיינר עם ה-GPU. כך המקשר הדינמי יכול למצוא את ספריות מנהלי ההתקנים של NVIDIA. המקשר מחפש ופותר נתיבים לפי הסדר שמופיע במשתנה הסביבה LD_LIBRARY_PATH. כל ערך שתציינו במשתנה הזה יקבל עדיפות על פני נתיב ברירת המחדל של ספריות הדרייברים של Cloud Run, שהוא /usr/local/nvidia/lib64.
אם אתם רוצים להשתמש בגרסת CUDA גבוהה מ-13.0, הדרך הכי קלה היא להסתמך על תמונת בסיס חדשה יותר של NVIDIA עם חבילות תאימות קדימה שכבר מותקנות. אפשרות אחרת היא להתקין ידנית את חבילות התאימות של NVIDIA ולהוסיף אותן ל-LD_LIBRARY_PATH. כדי לבדוק אילו גרסאות של CUDA תואמות קדימה לגרסת מנהל ההתקן של NVIDIA, אפשר לעיין במטריצת התאימות של NVIDIA.
מידע על מעבדי GPU ומספר המכונות המקסימלי
מספר המכונות עם יחידות GPU מוגבל בשתי דרכים:
- ההגדרה Maximum instances מגבילה את מספר המכונות לכל שירות. אי אפשר להגדיר ערך גבוה יותר מהמכסה של ה-GPU לכל פרויקט בכל אזור.
- מכסת ה-GPU המותרת לכל פרויקט בכל אזור. ההגדרה הזו מגבילה את מספר המכונות בשירותים באותו אזור.
המאמרים הבאים
במאמר הרצת הסקת AI ב-Cloud Run באמצעות GPUs תוכלו למצוא מדריכים בנושא.