תמיכה ב-GPU בשירותים

בדף הזה מוסבר איך מגדירים 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 מציעה זמינות על פי דרישה ללא צורך בהזמנות, בדומה לאופן שבו מעבד על פי דרישה וזיכרון על פי דרישה פועלים ב-Cloud Run. אם מגדירים שירות Cloud Run לשימוש ב-GPU, אפשר להקטין את מספר המופעים שלו לאפס כדי לחסוך בעלויות כשהוא לא בשימוש.

מופעים של 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 GPU עם גרסת הדרייבר הנוכחית של NVIDIA: ‏ 580.x.x (13.0). כדי להשתמש ב-GPU‏ NVIDIA RTX PRO 6000 Blackwell, צריך להשתמש ב-20 ליבות CPU ובזיכרון בנפח 80GiB לפחות.
  • L4 GPU עם גרסת הדרייבר הנוכחית של NVIDIA: 535.x.x (12.2). ב-GPU מסוג L4, צריך להשתמש ב-4 מעבדים לפחות ובזיכרון בנפח 16GiB.

אזורים נתמכים

האזורים הבאים נתמכים על ידי NVIDIA RTX PRO 6000 Blackwell GPU:

האזורים הבאים נתמכים על ידי L4 GPU:

  • asia-southeast1 (סינגפור)
  • asia-south1 (מומבאי) . האזור הזה זמין רק בהזמנה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
  • europe-west1 (בלגיה) סמל של עלה רמה נמוכה של CO2
  • europe-west4 (הולנד) סמל של עלה רמה נמוכה של CO2
  • us-central1 (אייווה) סמל של עלה רמה נמוכה של CO2 . יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
  • us-east4 (צפון וירג'יניה) . יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.

השפעה על התמחור

פרטים על תמחור של GPU זמינים במאמר תמחור של Cloud Run. שימו לב לדרישות ולשיקולים הבאים:

  • אין עמלות לכל בקשה. כדי להשתמש בתכונת ה-GPU, צריך להשתמש בחיוב לפי מופע. מופעים מינימליים מחויבים במחיר מלא גם כשהם בלי פעילות.
  • יש הבדל בעלות בין יתירות אזורית של GPU לבין יתירות לא אזורית. פרטים על תמחור של GPU זמינים במאמר תמחור של Cloud Run.
  • כשפורסים שירות או פונקציה של Cloud Run מקוד מקור עם מעבדי GPU מופעלים, Cloud Run משתמש בסוג המכונה e2-highcpu-8 במקום בסוג המכונה שמוגדר כברירת מחדל e2-standard-2 כדי ליצור את קוד המקור. סוג המכונה הגדול יותר מספק תמיכה טובה יותר במעבד ורוחב פס גבוה יותר ברשת, וכתוצאה מכך זמני פיתוח מהירים יותר.
  • הגדרות המעבד (CPU) והזיכרון של המשאב.
  • החיוב על ה-GPU מתבצע לכל משך מחזור החיים של המופע.

אפשרויות יתירות אזורית של GPU

כברירת מחדל, Cloud Run פורס את השירות שלכם בכמה אזורים בתוך אזור מסוים. הארכיטקטורה הזו מספקת חוסן מובנה: אם יש הפסקת חשמל באזור מסוים, Cloud Run מעביר באופן אוטומטי את התעבורה מהאזור המושפע לאזורים תקינים באותו אזור.

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

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

  • הפעלה של יתירות אזורית (ברירת מחדל): ‏ Cloud Run שומר קיבולת GPU לשירות שלכם בכמה אזורים. כך גדל הסיכוי שהשירות שלכם יוכל לטפל בהצלחה בתנועה שהופנתה מחדש מאזור מושפע, ותוכלו ליהנות מאמינות גבוהה יותר במהלך כשלים אזוריים, עם עלות נוספת לכל שנייה של GPU.

  • יתירות אזורית מושבתת: Cloud Run מנסה לבצע מעבר לגיבוי במקרה של כשל בעומסי עבודה של GPU, על בסיס האפשרות הטובה ביותר. התעבורה מנותבת לתחומים אחרים רק אם יש מספיק קיבולת של GPU באותו רגע. האפשרות הזו לא מבטיחה קיבולת שמורה לתרחישי יתירות כשל, אבל העלות שלה נמוכה יותר לשנייה של GPU.

SLA

הסכם ה-SLA ל-GPU ב-Cloud Run תלוי באפשרות של יתירות אזורית או לא אזורית שבה נעשה שימוש בשירות. פרטים נוספים זמינים בדף הסכם רמת השירות.

שליחת בקשה להגדלת המכסה

המיכסה של יחידות GPU ב-Cloud Run nvidia-rtx-pro-6000 ניתנת במילי-GPU. לפרויקטים שמשתמשים ב-nvidia-rtx-pro-6000 GPU באזור בפעם הראשונה, תוקצה אוטומטית מכסת 3,000 milliGPU (יתירות אזורית מושבתת) כשיוצרים את הפריסה הראשונה. זה שווה ל-3 יחידות GPU. כשיוצרים פריסה ראשונה בפרויקטים שמשתמשים ב-GPU של Cloud Runnvidia-l4 באזור מסוים בפעם הראשונה, מקבלים אוטומטית מכסת GPU של 3 (יתירות אזורית מושבתת).

אם אתם צריכים עוד יחידות GPU ב-Cloud Run, אתם צריכים לבקש הגדלה של המכסה לשירות Cloud Run. כדי לבקש את המכסה שדרושה לכם, לוחצים על הקישורים שמופיעים בלחצנים הבאים.

נדרשת מכסה קישור למכסה
‫NVIDIA RTX PRO 6000 Blackwell GPU עם יתירות אזורית מושבתת (מחיר נמוך יותר) בקשת מכסת GPU בלי יתירות אזורית
‫NVIDIA RTX PRO 6000 Blackwell GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) בקשת מכסת GPU עם יתירות אזורית
‫L4 GPU עם יתירות אזורית מושבתת (מחיר נמוך יותר) בקשת מכסת GPU בלי יתירות אזורית
‫L4 GPU עם יתירות אזורית מופעלת (מחיר גבוה יותר) בקשת מכסת GPU עם יתירות אזורית

מידע נוסף על בקשות להגדלת מכסות זמין במאמר איך מגדילים את המכסה.

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

ברשימה הבאה מפורטות הדרישות והמגבלות כשמשתמשים ב-GPU ב-Cloud Run:

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. מפעילים את Cloud Run API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  7. שליחת בקשה להגדלת המכסה
  8. מומלץ לעיין במאמר שיטות מומלצות: הסקת מסקנות מ-AI ב-Cloud Run עם GPU כדי לקבל המלצות ליצירת קובץ אימג' של קונטיינר ולטעינת מודלים גדולים.
  9. מוודאים שלשירות Cloud Run יש את ההגדרות הבאות:

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

כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של שירותי Cloud Run, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בשירותים:

  • Cloud Run Developer ‏ (roles/run.developer) – שירות Cloud Run
  • משתמש בחשבון שירות (roles/iam.serviceAccountUser) – זהות השירות

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

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת שירות Cloud Run עם GPU

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

אפשר להשתמש במסוף Google Cloud , ב-Google Cloud CLI או ב-YAML כדי להגדיר GPU.

המסוף

  1. נכנסים ל-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. בתפריט הניווט של Cloud Run, בוחרים באפשרות Services (שירותים) ולוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר שירות חדש. אם אתם מגדירים שירות קיים, לוחצים על השירות ואז על עריכה ופריסה של עדכון חדש.

  3. אם אתם מגדירים שירות חדש, ממלאים את דף ההגדרות הראשוניות של השירות ואז לוחצים על Containers, Networking, Security (מאגרי נתונים, רשתות, אבטחה) כדי להרחיב את דף הגדרות השירות.

  4. לוחצים על הכרטיסייה מאגר תגים.

    תמונה

    • מגדירים את המעבד (CPU), הזיכרון, הבו-זמניות (concurrency), סביבת ההרצה ובקשת בדיקת התקינות (probe) בהתאם להמלצות שבקטע לפני שמתחילים.
    • מסמנים את תיבת הסימון GPU, בוחרים את סוג ה-GPU בתפריט סוג ה-GPU ואת מספר ה-GPU בתפריט מספר ה-GPU.
    • כברירת מחדל, בשירותים חדשים מופעלת יתירות אזורית. כדי לשנות את ההגדרה הנוכחית, מסמנים את התיבה לצד GPU כדי להציג את האפשרויות של GPU redundancy.
      • בוחרים באפשרות ללא יתירות אזורית כדי להשבית את היתירות האזורית.
      • בוחרים באפשרות יתירות אזורית כדי להפעיל יתירות אזורית.
  5. לוחצים על יצירה או על פריסה.

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: מספר ליבות ה-CPU. בשביל NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות 20 CPU. ב-L4 GPU, צריך לציין לפחות 4 מעבדים.
  • MEMORY: נפח הזיכרון. בשביל NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות 80Gi (80 GiB). ב-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).
  • MAX_INSTANCE: המספר המקסימלי של המופעים. המספר הזה לא יכול להיות גבוה ממכסת ה-GPU שהוקצתה לפרויקט.
  • GPU_ZONAL_REDUNDANCY: no-gpu-zonal-redundancy כדי להשבית את יתירות האזורים, או gpu-zonal-redundancy כדי להפעיל את יתירות האזורים.

YAML

  1. אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:

    gcloud run services describe SERVICE --format export > service.yaml
  2. מעדכנים את המאפיין 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: מספר ליבות ה-CPU. עבור NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות 20 מעבדים. במקרה של L4 GPU, צריך לציין לפחות 4 יחידות CPU.
    • MEMORY: נפח הזיכרון. בשביל NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות 80Gi (80 GiB). ב-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).
    • MAX_INSTANCE: המספר המקסימלי של המופעים. המספר הזה לא יכול להיות גבוה ממכסת ה-GPU שהוקצתה לפרויקט.
    • GPU_ZONAL_REDUNDANCY: false כדי להפעיל יתירות אזורית של GPU, או true כדי להשבית אותה.
  3. יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:

    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: מספר ליבות ה-CPU. בשביל NVIDIA RTX PRO 6000 Blackwell GPU, צריך לציין לפחות 20 CPU. ב-L4 GPU, צריך לציין לפחות 4 מעבדים.
  • MEMORY: נפח הזיכרון. אם משתמשים ב-GPU מסוג NVIDIA RTX PRO 6000 Blackwell, צריך לציין לפחות 80Gi (80 GiB). ב-GPU מסוג L4, צריך לציין לפחות 16Gi ‏ (16GiB).
  • GPU_TYPE: סוג ה-GPU. ל-GPU‏ NVIDIA RTX PRO 6000 Blackwell, מזינים nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערך nvidia-l4 (nvidia-L4 באותיות קטנות, לא הערך המספרי 14).

הצגת ההגדרות של GPU

כדי לראות את הגדרות ה-GPU הנוכחיות בשירות Cloud Run:

המסוף

  1. נכנסים לדף Services של Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. לוחצים על השירות שרוצים לראות כדי לפתוח את הדף פרטי השירות.

  3. לוחצים על הכרטיסייה עדכונים.

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

gcloud

  1. משתמשים בפקודה הבאה:

    gcloud run services describe SERVICE
  2. מאתרים את הגדרת ה-GPU בתצורה שמוחזרת.

הסרת ה-GPU

אפשר להסיר GPU באמצעות מסוף Google Cloud , Google Cloud CLI או YAML.

המסוף

  1. נכנסים ל-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. בתפריט הניווט של Cloud Run, בוחרים באפשרות Services (שירותים) ולוחצים על Deploy container (פריסת קונטיינר) כדי להגדיר שירות חדש. אם אתם מגדירים שירות קיים, לוחצים על השירות ואז על עריכה ופריסה של עדכון חדש.

  3. אם אתם מגדירים שירות חדש, ממלאים את דף ההגדרות הראשוניות של השירות ואז לוחצים על Containers, Networking, Security (מאגרי נתונים, רשתות, אבטחה) כדי להרחיב את דף הגדרות השירות.

  4. לוחצים על הכרטיסייה מאגר תגים.

    תמונה

    • מבטלים את הסימון של תיבת הסימון GPU.
  5. לוחצים על יצירה או על פריסה.

gcloud

כדי להסיר את ה-GPU, מגדירים את מספר יחידות ה-GPU ל-0 באמצעות הפקודה gcloud run services update:

  gcloud run services update SERVICE --gpu 0
  

מחליפים את SERVICE בשם של שירות Cloud Run.

YAML

  1. אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:

    gcloud run services describe SERVICE --format export > service.yaml
  2. מוחקים את השורות nvidia.com/gpu: ו-nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.

  3. יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:

    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. ה-linker מחפש ומזהה נתיבים לפי הסדר שמופיע במשתנה הסביבה LD_LIBRARY_PATH. לכל ערך שמציינים במשתנה הזה יש עדיפות על פני נתיב ברירת המחדל של ספריות מנהלי התקנים של Cloud Run‏ /usr/local/nvidia/lib64.

אם רוצים להשתמש בגרסת CUDA שגבוהה מ-12.2, הדרך הכי קלה היא להסתמך על תמונת בסיס חדשה יותר של NVIDIA עם חבילות תאימות קדימה שכבר מותקנות. אפשרות נוספת היא להתקין ידנית את חבילות התאימות קדימה של NVIDIA ולהוסיף אותן ל-LD_LIBRARY_PATH. כדאי לעיין בטבלת התאימות של NVIDIA כדי לדעת אילו גרסאות של CUDA תואמות לגרסת מנהל ההתקן של NVIDIA שצוינה.

מידע על יחידות GPU ומספר האינסטנסים המקסימלי

מספר המקרים עם יחידות GPU מוגבל בשתי דרכים:

  • ההגדרה Maximum instances (מספר מופעים מקסימלי) מגבילה את מספר המופעים לכל שירות. אי אפשר להגדיר ערך גבוה יותר מהמכסה של GPU לכל פרויקט לכל אזור עבור GPU.
  • המכסה של יחידות GPU שמותרות לכל פרויקט בכל אזור. ההגדרה הזו מגבילה את מספר המופעים בשירותים באותו אזור.

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

תוכלו להיעזר במדריכים שבמאמר הרצת היקש של AI ב-Cloud Run באמצעות יחידות GPU.