GPUs mit Ihrem Dienst verwenden

Auf dieser Seite wird beschrieben, wie Sie mithilfe von Knotenpools und den Hardwarebeschleunigern des NVIDIA-Grafikverarbeitungsprozessors (GPU) Deep-Learning-Aufgaben wie die Bilderkennung, Natural Language Processing und andere rechenintensive Aufgaben mit Ihrer Cloud Run for Anthos in Google Cloud-Containerinstanz ausführen können.

Knotenpool mit GPUs einem GKE-Cluster hinzufügen

Ein Administrator soll einen Knotenpool mit GPUs erstellen:

  1. Fügen Sie Ihrem GKE-Cluster einen GPU-fähigen Knotenpool hinzu.

  2. Installieren Sie die NVIDIA-Gerätetreiber auf den Knoten.

Dienst für die Nutzung von GPUs einrichten

Mit der Ressourcengrenze können Sie GPUs für Ihren Dienst nutzen. Verwenden Sie dazu die Cloud Console, das gcloud-Befehlszeilentool oder eine YAML-Datei. Stellen Sie einen neuen Dienst bereit, aktualisieren Sie einen vorhandenen Dienst und stellen Sie eine Überarbeitung bereit:

Console

  1. Wechseln Sie zur Seite "Cloud Run for Anthos in Google Cloud".
  2. Klicken Sie auf Dienst erstellen, um das Formular Dienst erstellen aufzurufen.

    Bild

  3. Führen Sie im Abschnitt Diensteinstellungen Folgendes aus:

    • Wählen Sie Cloud Run for Anthos in Google Cloud als Entwicklungsplattform aus.
    • Wählen Sie den GKE-Cluster mit dem GPU-fähigen Knotenpool aus.
    • Geben Sie den Namen an, den Sie dem Dienst geben möchten.
    • Wählen Sie aus, welche Verbindung Sie zum Aufrufen des Dienstes verwenden möchten.
    • Klicken Sie auf Weiter, um mit der zweiten Seite des Diensterstellungsformulars fortzufahren.
  4. Gehen Sie im Abschnitt Erste Überarbeitung des Dienstes konfigurieren so vor:

    Bild

    • Fügen Sie eine Container-Image-URL hinzu.
    • Klicken Sie auf Erweiterte Einstellungen anzeigen und wählen Sie im Drop-down-Menü Zugewiesene GPU die Anzahl der GPUs aus, die Sie Ihrem Dienst zuordnen möchten. Bild
  5. Klicken Sie auf Erstellen, um das Image in Cloud Run for Anthos bereitzustellen. Warten Sie dann, bis die Bereitstellung abgeschlossen ist.

Befehlszeile

  • Aktualisieren Sie für vorhandene Dienste die GPU-Limiteinstellung, indem Sie den Befehl gcloud kuberun core services update mit dem Parameter --gpu ausführen:

    gcloud kuberun core services update SERVICE --gpu GPU
    

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • GPU durch die Anzahl der GPUs, die Sie Ihrem Dienst zuweisen möchten.
  • Legen Sie für neue Dienste das GPU-Limit fest, indem Sie den Befehl gcloud kuberun core services create mit dem Parameter --gpu ausführen:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --gpu GPU
    

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. gcr.io/myproject/my-image:latest.
    • GPU durch die Anzahl der GPUs, die Sie Ihrem Dienst zuweisen möchten.

YAML

Wenn Sie eine Konfiguration Ihres bestehenden Dienstes mithilfe einer YAML-Datei ändern möchten, erhalten Sie eine Kopie der aktuellen Konfiguration. Bearbeiten und speichern Sie die Änderungen und in einer lokalen Datei. Anschließend stellen Sie diese Änderungen für Ihren Dienst bereit.

  1. Lassen Sie die Konfiguration als YAML anzeigen und kopieren Sie dann die Konfiguration Ihres Dienstes in eine lokale Datei, z. B. service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Ersetzen Sie SERVICE durch den Namen Ihres Cloud Run for Anthos-Dienstes.

  2. Aktualisieren Sie in Ihrer lokalen Datei das Attribut nvidia.com/gpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
       – image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: GPU_UNITS
    

    Ersetzen Sie GPU_UNITS durch den gewünschten GPU-Wert in Kubernetes-GPU-Einheiten. Geben Sie beispielsweise 1 für 1 GPU an.

  3. Stellen Sie die YAML-Datei bereit und ersetzen Sie den Dienst durch die neue Konfiguration, indem Sie den folgenden Befehl ausführen:

    gcloud beta run services replace service.yaml

Weitere Informationen zu GPU-Leistung und -Kosten finden Sie unter GPUs.