GPUs für Cloud Run-Jobs konfigurieren

Auf dieser Seite wird die GPU-Konfiguration für Ihre Cloud Run-Jobs beschrieben. GPUs eignen sich gut für KI-Arbeitslasten wie das Trainieren großer Sprachmodelle (Large Language Models, LLMs) mit Ihren bevorzugten Frameworks, das Ausführen von Batch- oder Offline-Inferenzen für LLMs und die Verarbeitung anderer rechenintensiver Aufgaben wie Videoverarbeitung und Grafikrendering als Hintergrundjobs. Google bietet NVIDIA L4-GPUs mit 24 GB GPU-Speicher (VRAM) und NVIDIA RTX PRO 6000 Blackwell-GPUs mit 96 GB GPU-Speicher (VRAM) an, der vom Instanzspeicher getrennt ist.

GPU in Cloud Run ist vollständig verwaltet und erfordert keine zusätzlichen Treiber oder Bibliotheken benötigt. Die GPU-Funktion bietet On-Demand-Verfügbarkeit ohne erforderliche Reservierungen, ähnlich wie bei On-Demand-CPUs und On-Demand-Arbeitsspeicher in Cloud Run.

Cloud Run-Instanzen mit einer angehängten L4- oder NVIDIA RTX PRO 6000 Blackwell-GPU mit vorinstallierten Treibern starten in etwa 5 Sekunden. Danach können die in Ihrem Container ausgeführten Prozesse die GPU verwenden.

Sie können eine GPU pro Cloud Run-Instanz konfigurieren. Wenn Sie Sidecar-Container verwenden, kann die GPU nur an einen Container angehängt werden.

Unterstützte GPU-Typen

Cloud Run unterstützt zwei Arten von GPUs:

  • L4-GPU mit der aktuellen NVIDIA-Treiberversion: 535.x.x (12.2). Für L4-GPUs müssen Sie mindestens 4 CPUs und 16 GiB Arbeitsspeicher verwenden.
  • NVIDIA RTX PRO 6000 Blackwell-GPU mit der aktuellen NVIDIA-Treiberversion: 580.x.x (13.0). Für die NVIDIA RTX PRO 6000 Blackwell-GPU müssen Sie mindestens 20 CPUs und 80 GiB Arbeitsspeicher verwenden.

Unterstützte Regionen

Die folgenden Regionen werden von der L4-GPU unterstützt:

  • asia-southeast1 (Singapur)
  • asia-south1 (Mumbai) . Diese Region ist nur auf Einladung verfügbar. Wenden Sie sich an Ihr Google-Kontoteam, wenn Sie an dieser Region interessiert sind.
  • europe-west1 (Belgien) Blattsymbol Niedriger CO2
  • europe-west4 (Niederlande) Blattsymbol Niedriger CO2
  • us-central1 (Iowa) Blattsymbol Niedriger CO2 . Für die zusätzliche Ressourcenskalierung in dieser Region ist möglicherweise eine Kontingenterhöhung erforderlich. Wenden Sie sich an Ihr Google-Kontenteam, wenn Sie an dieser Region interessiert sind.
  • us-east4 (Nord-Virginia) . Für die zusätzliche Ressourcenskalierung in dieser Region ist möglicherweise eine Kontingenterhöhung erforderlich. Wenden Sie sich an Ihr Google-Kontenteam, wenn Sie an dieser Region interessiert sind.

Die folgenden Regionen werden von der NVIDIA RTX PRO 6000 Blackwell-GPU unterstützt:

  • asia-southeast1 (Singapur).
  • asia-south2 (Delhi, Indien).
  • europe-west4 (Niederlande) Blattsymbol Niedriger CO2
  • us-central1 (Iowa) Blattsymbol Niedriger CO2

Auswirkungen auf die Kosten

Details zu den GPU-Preisen finden Sie unter Cloud Run-Preise. Beachten Sie die folgenden Anforderungen und Überlegungen:

  • Für GPUs für Jobs gelten die Preise für „Keine zonale Redundanz“.
  • Die CPU- und Arbeitsspeicherkonfigurationen Ihrer Ressource.
  • Die GPU wird für die gesamte Dauer des Instanzlebenszyklus in Rechnung gestellt.

Nicht zonale GPU-Redundanz

Die Cloud Run-Jobs-Funktion bietet nur für GPU-fähige Instanzen Unterstützung für nicht zonale Redundanz. Wenn die nicht zonale Redundanz aktiviert ist, versucht Cloud Run nach besten Kräften, ein Failover für GPU-fähige Jobs durchzuführen. Cloud Run leitet Jobausführungen nur dann an andere Zonen weiter, wenn zu diesem Zeitpunkt ausreichend GPU-Kapazität verfügbar ist. Diese Option garantiert keine reservierte Kapazität für Failover-Szenarien, führt aber zu niedrigeren Kosten pro GPU-Sekunde.

Informationen zum Aktivieren der nicht zonalen Redundanz finden Sie unter Cloud Run-Job mit GPU konfigurieren.

Kontingenterhöhung anfordern

Projekten, die zum ersten Mal nvidia-l4-GPUs in einer Region verwenden, werden automatisch 3 GPU-Kontingente (zonale Redundanz deaktiviert) gewährt, wenn die erste Bereitstellung erstellt wird. Das Kontingent für nvidia-rtx-pro-6000-GPUs in Cloud Run wird in Milli-GPUs gewährt. Projekten, die zum ersten Mal nvidia-rtx-pro-6000-GPUs in einer Region verwenden, werden automatisch 3.000 Milli-GPU-Kontingente (zonale Redundanz deaktiviert) gewährt, wenn die erste Bereitstellung erstellt wird. Das entspricht 3 GPUs.

Beachten Sie, dass diese automatische Kontingentgewährung von der Verfügbarkeit abhängig ist, die wiederum von Ihrer CPU- und Arbeitsspeicherkapazität abhängt. Dadurch wird die Anzahl der GPUs begrenzt, die zu einem bestimmten Zeitpunkt in allen Diensten, Jobs und Worker-Pools des Projekts aktiv sein können.

Wenn Sie zusätzliche Cloud Run-GPUs für Jobs benötigen, fordern Sie eine Kontingenterhöhung an.

Hinweis

In der folgenden Liste werden die Anforderungen und Einschränkungen bei der Verwendung von GPUs in Cloud Run beschrieben:

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto bei Google Cloudhaben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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 aktivieren

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Informationen zum Zuweisen von Rollen.

    API aktivieren

  7. Unter Best Practices: Cloud Run-Jobs mit GPUs finden Sie Informationen zur Leistungsoptimierung bei der Verwendung von Cloud Run-Jobs mit GPUs.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Jobs zuzuweisen, um die zum Konfigurieren von Cloud Run-Jobs erforderlichen Berechtigungen zu erhalten:

  • Cloud Run-Entwickler (roles/run.developer) – Cloud Run-Job
  • Dienstkontonutzer (roles/iam.serviceAccountUser) – Dienstidentität

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Job mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Cloud Run-Job für die Verwendung von GPUs konfigurieren

Sie können die GPU über die Google Cloud Console, die Google Cloud CLI oder YAML konfigurieren.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Jobs:

    Zu Cloud Run

  2. Klicken Sie auf Container bereitstellen , um die Seite mit den anfänglichen Jobeinstellungen auszufüllen. Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.

  3. Klicken Sie auf Container, Verbindungen, Sicherheit , um die Seite mit den Jobattributen zu maximieren.

  4. Klicken Sie auf den Tab Container.

    Image

    • Konfigurieren Sie CPU, Arbeitsspeicher und Startprüfung gemäß den Empfehlungen unter Vorbereitung.
    • Setzen Sie ein Häkchen im Kästchen „GPU“. Wählen Sie dann im Menü GPU-Typ den GPU-Typ und im Menü Anzahl der GPUs die Anzahl der GPUs aus.
  5. Klicken Sie auf Erstellen oder Aktualisieren.

gcloud

Wenn Sie die nicht zonale Redundanz aktivieren möchten, müssen Sie --no-gpu-zonal-redundancy angeben. Dies ist erforderlich, um GPUs mit Jobs zu verwenden.

Verwenden Sie den gcloud run jobs create Befehl, um einen Job mit aktivierten GPUs zu erstellen:

    gcloud run jobs create JOB_NAME \
      --image=IMAGE \
      --gpu=1 \
      --no-gpu-zonal-redundancy

Ersetzen Sie Folgendes:

  • JOB_NAME: Der Name Ihres Cloud Run-Jobs.
  • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.

Verwenden Sie den Befehl gcloud run jobs update, um die GPU-Konfiguration für einen Job zu aktualisieren:

    gcloud run jobs update JOB_NAME \
      --image IMAGE_URL \
      --cpu CPU \
      --memory MEMORY \
      --gpu GPU_NUMBER \
      --gpu-type GPU_TYPE \
      --parallelism PARALLELISM \
      --no-gpu-zonal-redundancy

Ersetzen Sie Folgendes:

  • JOB_NAME: Der Name Ihres Cloud Run-Jobs.
  • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
  • CPU: Die Anzahl der CPUs. Für die L4-GPU müssen Sie mindestens 4 CPUs angeben. Für die NVIDIA RTX PRO 6000 Blackwell-GPU müssen Sie mindestens 20 CPUs angeben.
  • MEMORY: Die Größe des Arbeitsspeichers. Für die L4-GPU müssen Sie mindestens 16Gi (16 GiB) angeben. Für die NVIDIA RTX PRO 6000 Blackwell-GPU müssen Sie mindestens 80Gi (80 GiB) angeben.
  • GPU_NUMBER: der Wert 1 (eins). Wenn dieser Wert nicht angegeben ist, aber ein GPU_TYPE vorhanden ist, ist der Standardwert 1.
  • GPU_TYPE: Der GPU-Typ. Geben Sie für die L4-GPU den Wert nvidia-l4 ein (nvidia-L4 Kleinbuchstabe L, nicht numerischer Wert vierzehn). Geben Sie für die NVIDIA RTX PRO 6000 Blackwell-GPU nvidia-rtx-pro-6000 ein.
  • PARALLELISM: Ein ganzzahliger Wert, der kleiner als der niedrigste Wert der anwendbaren Kontingentlimits ist, die Sie für Ihr Projekt zugewiesen haben.

YAML

Sie müssen die Annotation run.googleapis.com/gpu-zonal-redundancy-disabled: auf „true“ setzen. Dadurch wird die nicht zonale Redundanz aktiviert, die für GPUs für Jobs erforderlich ist.

  1. Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Aktualisieren Sie das nvidia.com/gpu Attribut, annotations: run.googleapis.com/launch-stage für die Startphase und nodeSelector:
    run.googleapis.com/accelerator
    :

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB_NAME
      labels:
        cloud.googleapis.com/location: REGION
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'
        spec:
          template:
            spec:
              containers:
              - image: IMAGE_URL
                limits:
                  cpu: 'CPU'
                  memory: 'MEMORY'
                  nvidia.com/gpu: 'GPU_NUMBER'
              nodeSelector:
                run.googleapis.com/accelerator: GPU_TYPE

    Ersetzen Sie Folgendes:

    • JOB_NAME: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest
    • CPU: Die Anzahl der CPUs. Für die L4-GPU müssen Sie mindestens 4 CPUs angeben. Für die NVIDIA RTX PRO 6000 Blackwell-GPU müssen Sie mindestens 20 CPUs angeben.
    • MEMORY: Die Größe des Arbeitsspeichers. Für die L4-GPU müssen Sie mindestens 16Gi (16 GiB) angeben. Für die NVIDIA RTX PRO 6000 Blackwell-GPU müssen Sie mindestens 80Gi (80 GiB) angeben.
    • GPU_NUMBER: Der Wert 1 (eins), da wir nur das Anhängen einer GPU pro Cloud Run-Instanz unterstützen.
    • GPU_TYPE: Der GPU-Typ. Geben Sie für die L4-GPU den Wert nvidia-l4 ein (nvidia-L4 Kleinbuchstabe L, nicht numerischer Wert vierzehn). Geben Sie für die NVIDIA RTX PRO 6000 Blackwell-GPU nvidia-rtx-pro-6000 ein.
  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run jobs replace job.yaml

GPU-Einstellungen aufrufen

So rufen Sie die aktuellen GPU-Einstellungen für Ihren Cloud Run-Job auf:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite „Cloud Run-Jobs“:

    Zu Cloud Run-Jobs

  2. Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Suchen Sie die GPU-Einstellung in den Konfigurationsdetails.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run jobs describe JOB_NAME
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der GPU-Einstellung.

GPU-Ressourcen von einem Job trennen

Sie können GPU-Ressourcen über die Google Cloud Console, die Google Cloud CLI oder YAML von einem Job trennen.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Jobs:

    Zu Cloud Run

  2. Klicken Sie in der Liste der Jobs auf einen Job, um die Details dieses Jobs zu öffnen.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Klicken Sie auf Container, Verbindungen, Sicherheit , um die Seite mit den Jobattributen zu maximieren.

  5. Klicken Sie auf den Tab Container.

    Image

    • Entfernen Sie das Häkchen aus dem Kästchen „GPU“.
  6. Klicken Sie auf Aktualisieren.

gcloud

Wenn Sie GPU-Ressourcen von Ihrem Cloud Run-Job trennen möchten, setzen Sie die Anzahl der GPUs mit dem Befehl gcloud run jobs update auf 0:

  gcloud run jobs update JOB_NAME --gpu 0
  

Ersetzen Sie JOB_NAME durch den Namen Ihres Cloud Run-Jobs.

YAML

  1. Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Löschen Sie die Zeilen nvidia.com/gpu:, run.googleapis.com/gpu-zonal-redundancy-disabled: 'true' und nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.

  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run jobs replace job.yaml

Treiberbibliotheken

Standardmäßig werden alle Treiberbibliotheken für NVIDIA L4- und NVIDIA RTX PRO 6000 Blackwell-GPUs unter /usr/local/nvidia/lib64 eingebunden. Cloud Run fügt diesen Pfad automatisch an die LD_LIBRARY_PATH Umgebungsvariable an (d.h. ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) des Containers mit der GPU. So kann der dynamische Linker die NVIDIA-Treiberbibliotheken finden. Der Linker sucht und löst Pfade in der Reihenfolge auf, die Sie in der Umgebungsvariable LD_LIBRARY_PATH angeben. Alle in dieser Variablen angegebenen Werte haben Vorrang vor dem Standardpfad der Cloud Run-Treiberbibliotheken /usr/local/nvidia/lib64.

Wenn Sie eine CUDA-Version höher als 12.2 verwenden möchten, ist es am einfachsten, von einem neueren NVIDIA-Basis-Image abzuhängen, auf dem bereits Pakete für die Aufwärtskompatibilität installiert sind. Eine weitere Möglichkeit besteht darin, die NVIDIA-Pakete für die Aufwärtskompatibilität manuell zu installieren und sie zu LD_LIBRARY_PATHhinzuzufügen. Sehen Sie sich die Kompatibilitätsmatrix von NVIDIA an, um zu ermitteln, welche CUDA-Versionen mit der bereitgestellten NVIDIA Treiberversion aufwärtskompatibel sind.

GPUs und Parallelität

Wenn Sie parallele Aufgaben in einer Jobausführung ausführen, bestimmen und legen Sie den Parallelitätswert auf einen Wert fest, der kleiner als das für Ihr Projekt zugewiesene GPU-Kontingent ohne zonale Redundanz ist. Informationen zum Anfordern einer Kontingenterhöhung finden Sie unter Kontingent erhöhen. GPU-Aufgaben werden so schnell wie möglich gestartet. Der Höchstwert hängt davon ab, wie viel GPU-Kontingent Sie für das Projekt und die ausgewählte Region zugewiesen haben. Cloud Run-Bereitstellungen schlagen fehl, wenn Sie die Parallelität auf einen Wert über dem GPU-Kontingentlimit festlegen.

Um das GPU-Kontingent zu berechnen, das Ihr Job pro Ausführung verwendet, multiplizieren Sie die Anzahl der GPUs pro Jobaufgabe mit dem Parallelitätswert. Wenn Sie beispielsweise ein GPU-Kontingent von 10 haben und Ihren Cloud Run-Job mit --gpu=1 und --parallelism=10 bereitstellen, verbraucht Ihr Job alle 10 GPU-Kontingente. Wenn Sie die Bereitstellung mit --gpu=1 und --parallelism=20 ausführen, schlagen die Bereitstellungen fehl.

Weitere Informationen finden Sie unter Best Practices: Cloud Run-Jobs mit GPUs.

Nächste Schritte

Tutorials finden Sie unter KI-Inferenz in Cloud Run mit GPUs ausführen.