Auf dieser Seite werden GPUs in Google Kubernetes Engine (GKE) beschrieben, damit Sie die optimale GPU-Konfiguration für Ihre Arbeitslasten auswählen können. Wenn Sie GPU-Arbeitslasten bereitstellen möchten, die Slurm verwenden, lesen Sie stattdessen KI-optimierten Slurm-Cluster erstellen.
Mit GPUs können Sie ressourcenintensive Aufgaben wie maschinelles Lernen und Datenverarbeitung beschleunigen. Die Informationen auf dieser Seite können Ihnen dabei helfen, Folgendes zu tun:
- Sorgen Sie dafür, dass GPUs bei Bedarf verfügbar sind.
- Entscheiden Sie, ob Sie GPUs in GKE-Clustern im Autopilot- oder Standardmodus verwenden möchten.
- Wählen Sie GPU-bezogene Funktionen aus, um Ihre GPU-Kapazität effizient zu nutzen.
- Messwerte für GPU-Knoten überwachen
- Die Zuverlässigkeit von GPU-Arbeitslasten verbessern, indem Störungen effektiver behandelt werden.
Diese Seite richtet sich an Plattformadministratoren und ‑betreiber sowie Entwickler von maschinellem Lernen (ML), die dafür sorgen möchten, dass die Beschleunigerinfrastruktur für ihre Arbeitslasten optimiert ist.
Machen Sie sich vor dem Lesen dieser Seite mit den folgenden Themen vertraut:
GPU-Auswahl in GKE
In GKE hängt die Art und Weise, wie Sie GPU-Hardware anfordern, davon ab, ob Sie den Autopilot- oder den Standardmodus verwenden. In Autopilot fordern Sie GPU-Hardware an, indem Sie GPU-Ressourcen in Ihren Arbeitslasten angeben. Im GKE Standardmodus können Sie GPU-Hardware an Knoten in Ihren Clustern anhängen und dann GPU-Ressourcen zu containerisierten Arbeitslasten zuweisen, die auf diesen Knoten ausgeführt werden. Eine detaillierte Anleitung zum Anhängen und Verwenden von GPUs in Ihren Arbeitslasten finden Sie unter GPU-Arbeitslasten auf Autopilot bereitstellen oder GPUs in Standardknotenpools ausführen.
GKE bietet einige GPU-spezifische Features zur Verbesserung der effizienten GPU-Ressourcennutzung von Arbeitslasten, die auf Ihren Knoten ausgeführt werden, darunter Zeitfreigabe, GPUs mit mehreren Instanzen und GPUs mit mehreren Instanzen GPUs mit NVIDIA MPS.
Auf dieser Seite finden Sie Informationen zu den Optionen für das Anfordern von GPUs in GKE, darunter:
- GPU-Kontingent auswählen: Die maximale Anzahl von GPUs, die in Ihrem Projekt ausgeführt werden können
- Zwischen Autopilot- und Standardmodus wählen
- GPU-Stack über GKE oder NVIDIA GPU-Operator in GKE verwalten
- Funktionen auswählen, um die Anzahl der nicht ausreichend genutzten GPU-Ressourcen zu reduzieren
- Auf NVIDIA CUDA-X-Bibliotheken für CUDA-Anwendungen zugreifen
- Messwerte für GPU-Knoten überwachen
- Störungen aufgrund von Knotenwartungen verarbeiten
- GPU-Arbeitslasten mit GKE Sandbox schützen
Verfügbare GPU-Modelle
Die GPU-Hardware, die in GKE verwendet werden kann, ist eine Teilmenge der in Compute Engine verfügbaren GPU-Modelle. Die verfügbare Hardware hängt von der Compute Engine-Region oder -Zone Ihres Clusters ab. Weitere Informationen zur Verfügbarkeit finden Sie unter GPU-Regionen und -Zonen.
Informationen zu GPU-Preisen finden Sie unter Google Cloud SKUs und auf der Seite GPU-Preise.
GPU-Kontingent planen
Ihr GPU-Kontingent entspricht der maximalen Anzahl von GPUs, die in IhremGoogle Cloud -Projekt ausgeführt werden können. Damit Sie GPUs in Ihren GKE-Clustern verwenden können, muss in Ihrem Projekt ein ausreichend hohes GPU-Kontingent vorhanden sein. Prüfen Sie auf der Seite Kontingente, ob in Ihrem Projekt ausreichend GPUs zur Verfügung stehen.
Ihr GPU-Kontingent sollte mindestens der Gesamtzahl der GPUs entsprechen, die Sie in Ihrem Cluster ausführen möchten. Wenn Sie Cluster-Autoscaling aktivieren, sollte das angeforderte GPU-Kontingent mindestens der maximalen Anzahl von Knoten in Ihrem Cluster multipliziert mit der Anzahl von GPUs pro Knoten entsprechen.
Wenn Sie beispielsweise drei Knoten mit jeweils zwei GPUs verwenden möchten, ist das für Ihr Projekt erforderliche GPU-Kontingent sechs.
Wenn Sie ein zusätzliches GPU-Kontingent anfordern möchten, folgen Sie der Anleitung zum Anfordern einer Kontingentanpassung und verwenden Sie gpus
als Messwert.
GPU-Unterstützung mit Autopilot oder Standard auswählen
GPUs sind in Autopilot- und Standard-Clustern verfügbar.
Verwenden Sie Autopilot-Cluster für eine vollständig verwaltete Kubernetes-Umgebung. In Autopilot verwaltet GKE die Treiberinstallation, die Knotenskalierung, die Pod-Isolation und die Knotenbereitstellung.
Die folgende Tabelle bietet einen Überblick über die Unterschiede zwischen der Unterstützung von Autopilot- und Standard-GPUs:
Beschreibung | Autopilot | Standard |
---|---|---|
GPU-Hardware anfordern | Geben Sie GPU-Ressourcen in Ihren Arbeitslasten an. | GPU-Hardware an Knoten in Ihren Clustern anhängen und dann GPU-Ressourcen zu containerisierten Arbeitslasten zuweisen, die auf diesen Knoten ausgeführt werden. |
Verfügbarkeit von GPU-Hardware |
|
Alle von Compute Engine unterstützten GPU-Typen |
GPU auswählen | Sie fordern GPU-Menge und -Typ in Ihrer Arbeitslastspezifikation an. Standardmäßig wird in Autopilot der Standardtreiber für diese GKE-Version installiert und Ihre Knoten werden verwaltet. Informationen zum Auswählen einer bestimmten Treiberversion in Autopilot finden Sie unter NVIDIA-Treiber für Autopilot-GPU-Pods auswählen. |
Sie führen die Schritte aus, die unter GPUs in Standardknotenpools ausführen beschrieben sind:
|
GPU-Auslastung verbessern | ||
Sicherheit | ||
Preise | Autopilot GPU Pod-Preise | Compute Engine-GPU-Preise |
Informationen zum Auswählen des GKE-Betriebsmodus, der für Ihre Arbeitslasten am besten geeignet ist, finden Sie unter GKE-Betriebsmodus auswählen.
GPUs nutzen
GKE bietet Optionen für den GPU-Verbrauch, die je nach den Anforderungen Ihrer Arbeitslast variieren. Auf der Seite Optionen für den Beschleunigerverbrauch für KI-/ML-Arbeitslasten in GKE finden Sie Informationen zur Auswahl der besten Option für Ihren Anwendungsfall.
GPU-Stack über GKE oder den NVIDIA GPU-Operator in GKE verwalten
Standardmäßig verwaltet GKE den gesamten Lebenszyklus der GPU-Knoten, einschließlich der automatischen Installation von GPU-Treibern, der Überwachung von GPU-Arbeitslasten in GKE mit NVIDIA Data Center GPU Manager (DCGM) und der Strategien für die gemeinsame Nutzung von GPUs.
Verwenden Sie GKE zum Verwalten Ihrer GPU-Knoten, da GKE den Lebenszyklus von GPU-Knoten vollständig verwaltet.
Wählen Sie eine der folgenden Optionen aus, um mit der GKE-GPU-Knotenverwaltung zu beginnen:
- GPU-Arbeitslasten in Autopilot bereitstellen
- GPUs in Standardknotenpools ausführen
- Cluster mit NVIDIA B200- oder NVIDIA H200-GPUs mit 141 GB bereitstellen
Der NVIDIA GPU-Operator kann als Alternative zur vollständig verwalteten GPU-Unterstützung in GKE für Knoten-Images des Typs Container-Optimized OS (COS) und Ubuntu verwendet werden. Wählen Sie diese Option aus, wenn Sie eine einheitliche Umgebung bei mehreren Cloud-Dienstanbietern benötigen, den NVIDIA GPU-Operator bereits verwenden oder Software nutzen, die vom NVIDIA GPU-Operator abhängig ist. Weitere Informationen finden Sie unter GPU-Stack mit dem NVIDIA GPU-Operator verwalten.
In der folgenden Tabelle werden die beiden Methoden zum Verwalten von GPU-Knoten in GKE verglichen, damit Sie die beste Option für Ihren Anwendungsfall auswählen können.
Beschreibung | GPU-Knoten mit GKE verwalten | NVIDIA GPU-Operator in GKE verwenden |
---|---|---|
Verwaltung des GPU-Knotenlebenszyklus (Installation, Upgrade) | Vollständig von GKE verwaltet. | Vom Nutzer verwaltet. |
Treiberinstallation | Automatische und manuelle Installation von GPU-Treibern | Manuelle Installation von GPU-Treibern |
Knotenselektoren | cloud.google.com/gke-gpu=true |
nvidia.com/gpu=true |
GPU-Freigabestrategien |
|
|
Systemdiagnose von GPU-Knoten |
|
|
Messwerte und Beobachtbarkeit |
|
|
Ressourcennutzung mit GPU-Features in GKE optimieren
Standardmäßig unterstützt Kubernetes die Zuweisung von GPUs als ganze Einheiten nur für Container. GKE bietet jedoch zusätzliche Features, mit denen Sie die Ressourcennutzung Ihrer GPU-Arbeitslasten optimieren können.
Die folgenden Funktionen sind in GKE verfügbar, um die Anzahl der nicht ausreichend genutzten GPU-Ressourcen zu reduzieren:
GPU-Features | |
---|---|
GPUs mit mehreren Instanzen |
Verfügbar auf:Autopilot und Standard Eine einzelne GPU in bis zu sieben hardwareseitig getrennte Instanzen aufteilen, die Containern auf einem Knoten als einzelne GPUs zugewiesen werden können. Jeder zugewiesene Container erhält die für diese Instanz verfügbaren Ressourcen. |
GPUs mit Zeitfreigabe |
Verfügbar auf:Autopilot und Standard Eine einzelne GPU als mehrere Einheiten für mehrere Container auf einem Knoten darstellen. Der GPU-Treiberkontext wechselt und weist jedem zugewiesenen Container nach Bedarf die vollständigen GPU-Ressourcen zu. |
NVIDIA MPS |
Verfügbar auf: Standard Nutzen Sie eine einzelne physische NVIDIA-GPU für mehrere Container. NVIDIA MPS ist eine alternative, binär kompatible Implementierung der CUDA API, die dafür entwickelt wurde, kooperative Multiprozess-CUDA-Anwendungen transparent für die gleichzeitige Ausführung auf einem einzelnen GPU-Gerät zu ermöglichen. |
Auf die NVIDIA CUDA-X-Bibliotheken für CUDA-Anwendungen zugreifen
CUDA® ist die NVIDIA-Plattform für paralleles Computing und das Programmiermodell für GPUs. Wenn Sie CUDA-Anwendungen verwenden möchten, müssen die Bibliotheken im verwendeten Image vorhanden sein. Wenn Sie die NVIDIA CUDA-X-Bibliotheken hinzufügen möchten, können Sie Ihr eigenes Image erstellen und verwenden. Fügen Sie dazu die folgenden Werte in die Umgebungsvariable LD_LIBRARY_PATH
in Ihrer Containerspezifikation ein:
/usr/local/nvidia/lib64
: der Speicherort der NVIDIA-Gerätetreiber./usr/local/cuda-CUDA_VERSION/lib64
: der Speicherort der NVIDIA CUDA-X-Bibliotheken auf dem Knoten.Ersetzen Sie
CUDA_VERSION
durch die von Ihnen verwendete CUDA-X-Image-Version. Einige Versionen enthalten auch Debugging-Dienstprogramme in/usr/local/nvidia/bin
. Weitere Informationen finden Sie im NVIDIA CUDA-Image auf DockerHub.Informationen zum Prüfen der für Ihre CUDA-Version erforderlichen Mindest-GPU-Treiberversion finden Sie unter CUDA-Toolkit und kompatible Treiberversionen.
In Autopilot-Clustern übernimmt GKE die Auswahl und Installation der Treiberversion.
Leistung von GPU-Knoten-Arbeitslasten überwachen
Wenn für Ihren GKE-Cluster Systemmesswerte aktiviert sind, stehen in Cloud Monitoring folgende Messwerte zur Überwachung der GPU-Arbeitslastleistung zur Verfügung:
- Arbeitszyklus (
container/accelerator/duty_cycle
): Prozentsatz der Zeit im vergangenen Beispielzeitraum (10 Sekunden), während dessen der Beschleuniger aktiv verarbeitet wurde. Liegt zwischen 1 und 100. - Arbeitsspeichernutzung (
container/accelerator/memory_used
): Menge des dem Beschleuniger zugeteilten Arbeitsspeichers in Byte. - Speicherkapazität (
container/accelerator/memory_total
): Gesamter Arbeitsspeicher des Beschleunigers in Byte.
Diese Messwerte gelten auf Containerebene (container/accelerator
) und werden nicht für Container erfasst, die auf einer GPU geplant sind, die GPU-Zeitfreigabe oder NVIDIA MPS verwendet.
Sie können vordefinierte Dashboards verwenden, um Ihre Cluster mit GPU-Knoten zu überwachen. Weitere Informationen finden Sie unter Beobachtbarkeitsmesswerte aufrufen. Allgemeine Informationen zum Überwachen Ihrer Cluster und der zugehörigen Ressourcen finden Sie unter Beobachtbarkeit für GKE.
Nutzungsmesswerte für Arbeitslasten ansehen
Sie können Ihre GPU-Nutzungsmesswerte für Arbeitslasten im Dashboard Arbeitslasten der Google Cloud -Konsole aufrufen.
Gehen Sie zum Abrufen der GPU-Nutzung Ihrer Arbeitslast so vor:
Rufen Sie in der Google Cloud -Console die Seite Arbeitslasten auf.
Zu Arbeitslasten- Wählen Sie eine Arbeitslast aus.
Im Dashboard „Arbeitslasten” werden die Arbeitsspeichernutzung und -kapazität der GPUs sowie der GPU-Arbeitszyklus in Form von Diagrammen angezeigt.
NVIDIA Data Center GPU Manager-Messwerte (DCGM) ansehen
Sie können NVIDIA DCGM-Messwerte mit Google Cloud Managed Service for Prometheus erfassen und visualisieren. Bei Autopilot-Clustern installiert GKE die Treiber. Bei Standardclustern müssen Sie die NVIDIA-Treiber installieren.
Eine Anleitung zum Bereitstellen des von GKE verwalteten DCGM-Pakets finden Sie unter NVIDIA Data Center GPU Manager-Messwerte (DCGM) erfassen und ansehen.
Störungen aufgrund von Knotenwartungen verarbeiten
Die GKE-Knoten, auf denen die GPUs gehostet werden, unterliegen Wartungsereignissen oder anderen Störungen, die zum Herunterfahren des Knotens führen können. In GKE-Clustern auf deren Steuerungsebene, die Version 1.29.1-gke.1425000 oder höher ausgeführt wird, können Sie die Unterbrechung von Arbeitslasten reduzieren. Konfigurieren Sie dazu GKE so, dass Ihre Arbeitslasten ordnungsgemäß beendet werden.
Informationen zum Verwalten von Störungsereignissen, die auf GKE-Knoten mit KI-/ML-Arbeitslasten auftreten können, finden Sie unter GKE-Knotenunterbrechungen für GPUs und TPUs verwalten.