In diesem Dokument wird beschrieben, wie Sie Slurm-Cluster konfigurieren und bereitstellen, die A4X-, A4-, A3 Ultra-, A3 Mega- oder A3 High-Maschinentypen verwenden. Weitere Informationen zu diesen beschleunigungsoptimierten Maschinentypen finden Sie unter GPU-Maschinentypen.
Weitere Methoden zum Erstellen eines KI-optimierten Slurm-Clusters in Google Cloudfinden Sie unter:
Wenn Sie eine verwaltete Slurm-Umgebung verwenden möchten, die die Clustereinrichtung und -verwaltung vereinfacht, lesen Sie den Abschnitt Cluster Director.
Informationen zum Bereitstellen von zwei A4-VM-Instanzen in Slurm finden Sie in der Kurzanleitung zum Erstellen eines KI-optimierten Slurm-Clusters.
Beschränkungen
Je nach Maschinenserie, die von den VMs in Ihrem Slurm-Cluster verwendet wird, gelten die folgenden Einschränkungen:
A4X
- Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die diese Maschinentypen verwenden. Außerdem unterstützen A4X Max-Maschinentypen keine ressourcenbasierten Rabatte für zugesicherte Nutzung.
- Sie können Instanzen nur in bestimmten Regionen und Zonen erstellen.
- Sie können keinen nichtflüchtigen Speicher (regional oder zonenbasiert) verwenden. Sie können nur Google Cloud Hyperdisk verwenden.
- Diese Maschinentypen sind nur auf der NVIDIA Grace-Plattform verfügbar.
- Änderungen des Maschinentyps werden für A4X Max oder A4X nicht unterstützt. Wenn Sie zu einem dieser Maschinentypen wechseln oder von einem dieser Maschinentypen wechseln möchten, müssen Sie eine neue A4X-Max- oder A4X-Instanz erstellen.
- Sie können Windows-Betriebssysteme nicht auf diesen Maschinentypen ausführen.
- Bei A4X-Instanzen werden die Zähler für physische Ports, die mit
_phyenden, nicht aktualisiert, wenn Sieethtool -Sverwenden, um das GPU-Netzwerk zu überwachen. Das ist das erwartete Verhalten für Instanzen, die die MRDMA-Architektur mit virtuellen Funktionen (VF) verwenden. Weitere Informationen finden Sie unter MRDMA-Funktionen und Tools zur Netzwerküberwachung. - A4X Max- und A4X-Instanzen unterstützen Folgendes nicht:
- Sie können Hyperdisk ML-Laufwerke, die vor dem 4. Februar 2026 erstellt wurden, nicht an A4X-Maschinentypen anhängen.
A4
- Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A4-Maschinentyp verwenden.
- Sie können einen A4-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
- Sie können keinen nichtflüchtigen Speicher (regional oder zonenbasiert) verwenden. Sie können nur Google Cloud Hyperdisk verwenden.
- Der A4-Maschinentyp ist nur auf der Emerald Rapids-CPU-Plattform verfügbar.
- Sie können den Maschinentyp einer Instanz nicht in einen A4-Maschinentyp ändern oder von einem A4-Maschinentyp weg ändern. Sie müssen eine neue Instanz mit diesem Maschinentyp erstellen.
- A4-Maschinentypen unterstützen keine einzelnen Mandanten.
- Sie können Windows-Betriebssysteme nicht auf einem A4-Maschinentyp ausführen.
- Bei A4-Instanzen werden die Zähler für physische Ports, die mit
_phyenden, nicht aktualisiert, wenn Sieethtool -Sverwenden, um das GPU-Netzwerk zu überwachen. Dies ist das erwartete Verhalten für Instanzen, die die MRDMA-Architektur für virtuelle Funktionen (VF) verwenden. Weitere Informationen finden Sie unter MRDMA-Funktionen und Tools zur Netzwerküberwachung. - Sie können Hyperdisk ML-Laufwerke, die vor dem 4. Februar 2026 erstellt wurden, nicht an A4-Maschinentypen anhängen.
A3 Ultra
- Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A3-Ultra-Maschinentyp verwenden.
- Sie können einen A3-Ultra-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
- Sie können keinen nichtflüchtigen Speicher (regional oder zonenbasiert) verwenden. Sie können nur Google Cloud Hyperdisk verwenden.
- Der A3-Ultra-Maschinentyp ist nur auf der Emerald Rapids-CPU-Plattform verfügbar.
- Änderungen des Maschinentyps werden für den A3-Ultra-Maschinentyp nicht unterstützt. Wenn Sie zu diesem Maschinentyp wechseln oder ihn verlassen möchten, müssen Sie eine neue Instanz erstellen.
- Sie können Windows-Betriebssysteme nicht auf einem A3-Ultra-Maschinentyp ausführen.
- A3-Ultra-Maschinentypen unterstützen keine einzelnen Mandanten.
- Bei A3 Ultra-Instanzen werden die Zähler für physische Ports, die mit
_phyenden, nicht aktualisiert, wenn Sieethtool -Sverwenden, um das GPU-Netzwerk zu überwachen. Das ist das erwartete Verhalten für Instanzen, die die MRDMA-Architektur mit virtuellen Funktionen (VF) verwenden. Weitere Informationen finden Sie unter MRDMA-Funktionen und Tools zur Netzwerküberwachung.
A3 Mega
- Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A3-Mega-Maschinentyp verwenden.
- Sie können einen A3-Mega-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
- Sie können keinen regionalen nichtflüchtigen Speicher auf einer Instanz verwenden, die einen A3-Mega-Maschinentyp verwendet.
- Der Maschinentyp „A3 Mega“ ist nur auf der Sapphire Rapids-CPU-Plattform verfügbar.
- Änderungen des Maschinentyps werden für den A3 Mega-Maschinentyp nicht unterstützt. Wenn Sie zu diesem Maschinentyp wechseln oder ihn verlassen möchten, müssen Sie eine neue Instanz erstellen.
- Sie können Windows-Betriebssysteme nicht auf einem A3 Mega-Maschinentyp ausführen.
A3 High
- Sie erhalten weder Rabatte für kontinuierliche Nutzung noch flexible Rabatte für zugesicherte Nutzung für Instanzen, die einen A3-High-Maschinentyp verwenden.
- Sie können einen A3 High-Maschinentyp nur in bestimmten Regionen und Zonen verwenden.
- Sie können keinen regionalen nichtflüchtigen Speicher auf einer Instanz verwenden, die einen A3-High-Maschinentyp verwendet.
- Der Maschinentyp „A3 High“ ist nur auf der Sapphire Rapids-CPU-Plattform verfügbar.
- Änderungen des Maschinentyps werden für den A3-High-Maschinentyp nicht unterstützt. Wenn Sie zu diesem Maschinentyp wechseln oder ihn verlassen möchten, müssen Sie eine neue Instanz erstellen.
- Sie können Windows-Betriebssysteme nicht auf einem A3 High-Maschinentyp ausführen.
- Für die Maschinentypen
a3-highgpu-1g,a3-highgpu-2gunda3-highgpu-4gmüssen Sie Instanzen mit Spot-VMs oder Flex-Start-VMs erstellen. Eine ausführliche Anleitung zu diesen Optionen finden Sie hier:- Wenn Sie Spot-VMs erstellen möchten, legen Sie das Bereitstellungsmodell auf
SPOTfest, wenn Sie eine beschleunigungsoptimierte VM erstellen. - Sie haben folgende Möglichkeiten, Flex-Start-VMs zu erstellen:
- Erstellen Sie eine eigenständige VM und legen Sie das Bereitstellungsmodell auf
FLEX_STARTfest, wenn Sie eine beschleunigungsoptimierte VM erstellen. - Erstellen Sie eine Anfrage zur Größenänderung in einer verwalteten Instanzgruppe (MIG). Eine Anleitung finden Sie unter MIG mit GPU-VMs erstellen.
- Erstellen Sie eine eigenständige VM und legen Sie das Bereitstellungsmodell auf
- Wenn Sie Spot-VMs erstellen möchten, legen Sie das Bereitstellungsmodell auf
- Sie können eine Confidential VM mit einem
a3-highgpu-1g-Maschinentyp nur in begrenzten Regionen und Zonen verwenden. Außerdem gelten alle Einschränkungen für Confidential VMs, die auf dem A3 High-Maschinentyp ausgeführt werden.
Hinweise
Führen Sie vor dem Erstellen eines Slurm-Clusters die folgenden Schritte aus, sofern noch nicht geschehen:
- Nutzungsoption auswählen: Die von Ihnen gewählte Nutzungsoption bestimmt, wie Sie GPU-Ressourcen beziehen und nutzen.
Weitere Informationen finden Sie unter Nutzungsoption auswählen.
- Kapazität abrufen: Der Prozess zum Abrufen von Kapazität unterscheidet sich für jede Verbrauchsoption.
Informationen zum Erhalten von Kapazität für die von Ihnen gewählte Verbrauchsoption finden Sie unter Kapazitätsübersicht.
- Prüfen Sie, ob Sie genügend Filestore-Kapazitätskontingent haben: Sie benötigen genügend Filestore-Kontingent in Ihrer Zielregion, bevor Sie die Bereitstellung vornehmen. Die erforderliche Mindestkapazität hängt von den Maschinentypen in Ihrem Cluster ab:
- A4, A4X, A3 Ultra und A3 Mega: Erfordert mindestens 10 TiB (10.240 GiB) an HIGH_SCALE_SSD-Kapazität (zonal).
- A3 High: Erfordert mindestens 2,5 TiB (2.560 GiB) an BASIC_SSD-Kapazität (Standard).
So prüfen Sie das Kontingent oder fordern eine Kontingenterhöhung an:
- Informationen zum Prüfen von Kontingenten finden Sie unter API-spezifische Kontingente aufrufen.
- Wenn Sie nicht genügend Kontingent haben, fordern Sie eine Kontingenterhöhung an.
- Cluster Toolkit installieren: Zum Bereitstellen von Slurm-Clustern müssen Sie Cluster Toolkit-Version
v1.62.0oder höher verwenden.Informationen zum Installieren des Cluster-Toolkits finden Sie unter Cluster Toolkit einrichten.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Erforderliche Rollen
Damit das Compute Engine-Standarddienstkonto die erforderlichen Berechtigungen zum Bereitstellen eines Slurm-Clusters hat, bitten Sie Ihren Administrator, dem Compute Engine-Standarddienstkonto die folgenden IAM-Rollen zuzuweisen:
-
Storage Object Viewer (
roles/storage.objectViewer) für Ihr Projekt -
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1) für Ihr Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser) für das Dienstkonto selbst
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann dem Compute Engine-Standarddienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
Storage-Bucket einrichten
Cluster-Blueprints verwenden Terraform-Module, um die Cloud-Infrastruktur bereitzustellen. Als Best Practice für die Arbeit mit Terraform empfiehlt es sich, den Status remote in einer versionsfähigen Datei zu speichern. Auf Google Cloudkönnen Sie einen Cloud Storage-Bucket mit aktivierter Versionierung erstellen.
Führen Sie die folgenden Befehle aus, um diesen Bucket zu erstellen und die Versionierung über die Befehlszeile zu aktivieren:
gcloud storage buckets create gs://BUCKET_NAME \
--project=PROJECT_ID \
--default-storage-class=STANDARD --location=BUCKET_REGION \
--uniform-bucket-level-access
gcloud storage buckets update gs://BUCKET_NAME --versioning
Ersetzen Sie Folgendes:
BUCKET_NAME: Ein Name für Ihren Cloud Storage-Bucket, der den Anforderungen für Bucket-Namen entspricht.PROJECT_ID: Ihre Projekt-ID.BUCKET_REGION: ein beliebiger verfügbarer Standort.
Cluster Toolkit-Verzeichnis öffnen
Wenn Sie Slurm mit Google Cloudverwenden möchten, müssen Sie das Cluster Toolkit installieren. Nach der Installation des Toolkits müssen Sie mit dem folgenden Befehl sicherstellen, dass Sie sich im Cluster Toolkit-Verzeichnis befinden:
cd cluster-toolkit
Für diese Clusterbereitstellung ist Cluster Toolkit v1.62.0 oder höher erforderlich. Führen Sie den folgenden Befehl aus, um Ihre Version zu prüfen:
./gcluster --version
Bereitstellungsdatei erstellen
Erstellen Sie eine Bereitstellungsdatei, mit der Sie den Cloud Storage-Bucket angeben, Namen für Ihr Netzwerk und Subnetzwerk festlegen und Bereitstellungsvariablen wie Projekt-ID, Region und Zone festlegen können.
Folgen Sie der Anleitung für den gewünschten Maschinentyp und die gewünschte Verbrauchsoption, um eine Bereitstellungsdatei zu erstellen.
A4X
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a4xhigh-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4x_cluster_size: NUMBER_OF_VMS
a4x_reservation_name: RESERVATION_NAME
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region mit den reservierten Maschinen.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten. Wenn Sie eine reservierungsbasierte Verbrauchsoption verwenden, wurden die Informationen zu Region und Zone von Ihrem Kontoteam bereitgestellt, als die Kapazität bereitgestellt wurde.NUMBER_OF_VMS: die Anzahl der A4X-VMs in Ihrem Cluster. Sie können eine beliebige Anzahl von VMs angeben. A4X-VMs sind jedoch physisch über ein NVLink-System mit mehreren Knoten in Gruppen von 18 VMs (72 GPUs) miteinander verbunden, um eine NVLink-Domäne zu bilden.Für eine optimale Netzwerkleistung empfehlen wir, einen Wert anzugeben, der ein Vielfaches von 18 VMs ist (z. B. 18, 36 oder 54). Wenn Sie einen A4X-Cluster erstellen, wird mit dem A4X-Blueprint automatisch eine Richtlinie für kompakte Platzierung mit einer GPU-Topologie von
1x72für jede Gruppe von 18 VMs erstellt und angewendet. Weitere Informationen zur A4X-Topologie finden Sie unter A4X-Grundlagen.RESERVATION_NAME: Der Name Ihrer Reservierung.
A4
Die Parameter, die Sie Ihrer Bereitstellungsdatei hinzufügen müssen, hängen von der Verbrauchsoption ab, die Sie für Ihre Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.
Reservierungsgebunden
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a4high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_reservation_name: RESERVATION_NAME
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region mit den reservierten Maschinen.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten. Wenn Sie eine reservierungsbasierte Verbrauchsoption verwenden, wurden die Informationen zu Region und Zone von Ihrem Kontoteam bereitgestellt, als die Kapazität bereitgestellt wurde.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.RESERVATION_NAME: Der Name Ihrer Reservierung.
Flex-Start
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a4high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_dws_flex_enabled: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
Bei dieser Bereitstellung werden statische Compute-Knoten bereitgestellt. Das bedeutet, dass der Cluster immer eine bestimmte Anzahl von Knoten hat. Wenn Sie stattdessen Autoscaling für Ihren Cluster aktivieren möchten, verwenden Sie die Datei examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml und bearbeiten Sie die Werte von node_count_static und node_count_dynamic_max entsprechend:
node_count_static: 0
node_count_dynamic_max: $(vars.a4h_cluster_size)
Spot
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a4high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_enable_spot_vm: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
A3 Ultra
Die Parameter, die Sie Ihrer Bereitstellungsdatei hinzufügen müssen, hängen von der Verbrauchsoption ab, die Sie für Ihre Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.
Reservierungsgebunden
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a3ultra-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_reservation_name: RESERVATION_NAME
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region mit den reservierten Maschinen.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten. Wenn Sie eine reservierungsbasierte Verbrauchsoption verwenden, wurden die Informationen zu Region und Zone von Ihrem Kontoteam bereitgestellt, als die Kapazität bereitgestellt wurde.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.RESERVATION_NAME: Der Name Ihrer Reservierung.
Flex-Start
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a3ultra-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_dws_flex_enabled: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
Bei dieser Bereitstellung werden statische Compute-Knoten bereitgestellt. Das bedeutet, dass der Cluster immer eine bestimmte Anzahl von Knoten hat. Wenn Sie stattdessen Autoscaling für Ihren Cluster aktivieren möchten, verwenden Sie die Datei examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml und bearbeiten Sie die Werte von node_count_static und node_count_dynamic_max entsprechend:
node_count_static: 0
node_count_dynamic_max: $(vars.a3u_cluster_size)
Spot
Erstellen Sie mit einem Texteditor eine YAML-Datei mit dem Namen a3ultra-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_enable_spot_vm: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
A3 Mega
Die Parameter, die Sie Ihrer Bereitstellungsdatei hinzufügen müssen, hängen von der Verbrauchsoption ab, die Sie für Ihre Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.
Reservierungsgebunden
Erstellen Sie eine YAML-Datei mit dem Namen a3mega-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_reservation_name: RESERVATION_NAME
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region mit den reservierten Maschinen.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten. Wenn Sie eine reservierungsbasierte Verbrauchsoption verwenden, wurden die Informationen zu Region und Zone von Ihrem Kontoteam bereitgestellt, als die Kapazität bereitgestellt wurde.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.RESERVATION_NAME: Der Name Ihrer Reservierung.
Flex-Start
Erstellen Sie eine YAML-Datei mit dem Namen a3mega-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_dws_flex_enabled: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
Bei dieser Bereitstellung werden statische Compute-Knoten bereitgestellt. Das bedeutet, dass der Cluster immer eine bestimmte Anzahl von Knoten hat. Wenn Sie stattdessen Autoscaling für Ihren Cluster aktivieren möchten, verwenden Sie die Datei examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml und bearbeiten Sie die Werte von node_count_static und node_count_dynamic_max entsprechend:
node_count_static: 0
node_count_dynamic_max: $(vars.a3m_cluster_size)
Spot
Erstellen Sie eine YAML-Datei mit dem Namen a3mega-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_enable_spot_vm: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
A3 High
Die Parameter, die Sie Ihrer Bereitstellungsdatei hinzufügen müssen, hängen von der Verbrauchsoption ab, die Sie für Ihre Bereitstellung verwenden. Wählen Sie den Tab aus, der dem Bereitstellungsmodell Ihrer Nutzungsoption entspricht.
Reservierungsgebunden
Erstellen Sie eine YAML-Datei mit dem Namen a3high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_reservation_name: RESERVATION_NAME
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: Die Region mit den reservierten Maschinen.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten. Wenn Sie eine reservierungsbasierte Verbrauchsoption verwenden, wurden die Informationen zu Region und Zone von Ihrem Kontoteam bereitgestellt, als die Kapazität bereitgestellt wurde.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.RESERVATION_NAME: Der Name Ihrer Reservierung.
Flex-Start
Erstellen Sie eine YAML-Datei mit dem Namen a3high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_dws_flex_enabled: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
Bei dieser Bereitstellung werden statische Compute-Knoten bereitgestellt. Das bedeutet, dass der Cluster immer eine bestimmte Anzahl von Knoten hat. Wenn Sie stattdessen Autoscaling für Ihren Cluster aktivieren möchten, verwenden Sie die Datei examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml und bearbeiten Sie die Werte von node_count_static und node_count_dynamic_max entsprechend:
node_count_static: 0
node_count_dynamic_max: $(vars.a3h_cluster_size)
Spot
Erstellen Sie eine YAML-Datei mit dem Namen a3high-slurm-deployment.yaml und fügen Sie den folgenden Inhalt hinzu, um die Bereitstellungsdatei zu erstellen.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_enable_spot_vm: true
Ersetzen Sie Folgendes:
BUCKET_NAME: Der Name Ihres Cloud Storage-Buckets, den Sie im vorherigen Abschnitt erstellt haben.DEPLOYMENT_NAME: Ein Name für Ihre Bereitstellung. Wenn Sie mehrere Cluster erstellen, müssen Sie für jeden einen eindeutigen Namen auswählen.PROJECT_ID: Ihre Projekt-ID.REGION: die Region, in der Sie den Cluster bereitstellen möchten.ZONE: die Zone, in der Sie den Cluster bereitstellen möchten.NUMBER_OF_VMS: die Anzahl der VMs, die Sie für den Cluster benötigen.
Slurm-Cluster bereitstellen
Cluster Toolkit stellt den Cluster auf Grundlage der Bereitstellungsdatei, die Sie im vorherigen Schritt erstellt haben, und des Standard-Cluster-Blueprints bereit. Weitere Informationen zu der Software, die durch das Blueprint installiert wird, einschließlich NVIDIA-Treibern und CUDA
Führen Sie zum Bereitstellen des Clusters den Befehl für Ihren Maschinentyp aus dem Cluster Toolkit-Verzeichnis aus. Dieser Schritt dauert etwa 20 bis 30 Minuten.
A4X
./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --auto-approve
A4
./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --auto-approve
A3 Ultra
./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --auto-approve
A3 Mega
./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --auto-approve
A3 High
./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --auto-approve
Verbindung zum Slurm-Cluster herstellen
Um auf Ihren Cluster zuzugreifen, müssen Sie sich am Slurm-Anmeldeknoten anmelden. Zum Anmelden können Sie entweder die Google Cloud -Konsole oder die Google Cloud CLI verwenden.
Console
Rufen Sie die Seite Compute Engine > VM-Instanzen auf.
Suchen Sie den Anmeldeknoten. Der Name sollte dem Muster
DEPLOYMENT_NAME+login-001entsprechen.Klicken Sie in der Spalte Verbinden des Anmeldeknotens auf SSH.
gcloud
So stellen Sie eine Verbindung zum Anmeldeknoten her:
Ermitteln Sie den Anmeldeknoten mit dem Befehl
gcloud compute instances list.gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"Wenn in der Ausgabe mehrere Slurm-Cluster aufgeführt sind, können Sie Ihren Anmeldenode anhand des von Ihnen angegebenen
DEPLOYMENT_NAMEidentifizieren.Verwenden Sie den Befehl
gcloud compute ssh, um eine Verbindung zum Anmeldeknoten herzustellen.gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iapErsetzen Sie Folgendes:
ZONE: die Zone, in der sich die VMs für Ihren Cluster befinden.LOGIN_NODE: Der Name des Anmeldeknotens, den Sie im vorherigen Schritt identifiziert haben.
Netzwerkleistung im Slurm-Cluster testen
Wir empfehlen, die Funktionalität der bereitgestellten Cluster zu prüfen. Verwenden Sie dazu NCCL-Tests, die NVIDIA Collective Communications Library (NCCL)-Tests sind, die für die Google-Umgebung optimiert wurden.
Slurm-Cluster neu bereitstellen
Wenn Sie die Anzahl der Rechenknoten erhöhen oder Ihrem Cluster neue Partitionen hinzufügen müssen, müssen Sie möglicherweise die Konfigurationen für Ihren Slurm-Cluster aktualisieren, indem Sie ihn neu bereitstellen. Die erneute Bereitstellung kann beschleunigt werden, indem ein vorhandenes Image aus einer vorherigen Bereitstellung verwendet wird. Wenn Sie vermeiden möchten, dass beim erneuten Bereitstellen neue Images erstellt werden, geben Sie das Flag --only an.
So stellen Sie den Cluster mit einem vorhandenen Image neu bereit:
Führen Sie den Befehl für den gewünschten Maschinentyp aus:
A4X
./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A4
./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 Ultra
./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 Mega
./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 High
./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
Dieser Befehl ist nur für die erneute Bereitstellung vorgesehen, wenn bereits ein Image vorhanden ist. Er stellt nur den Cluster und seine Infrastruktur neu bereit.
Slurm-Cluster löschen
Standardmäßig wird durch die A4X-, A4- und A3-Ultra-Blaupausen der Löschschutz für die Filestore-Instanz aktiviert. Wenn Sie die Filestore-Instanz beim Löschen des Slurm-Clusters löschen möchten, deaktivieren Sie den Löschschutz, bevor Sie den Löschbefehl ausführen. Eine Anleitung finden Sie unter Löschschutz für eine vorhandene Instanz festlegen oder entfernen.
Trennen Sie die Verbindung zum Cluster, falls noch nicht geschehen.
Bevor Sie den Löschbefehl ausführen, wechseln Sie zum Stammverzeichnis des Cluster Toolkit-Verzeichnisses. Standardmäßig befindet sich DEPLOYMENT_FOLDER im Stammverzeichnis des Cluster Toolkit-Verzeichnisses.
Führen Sie den folgenden Befehl aus, um den Cluster zu löschen:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Ersetzen Sie Folgendes:
DEPLOYMENT_FOLDER: Der Name des Bereitstellungsordners. Er entspricht in der Regel DEPLOYMENT_NAME.
Wenn das Löschen abgeschlossen ist, wird eine Meldung wie diese angezeigt:
Destroy complete! Resources: xx destroyed.
Informationen zum sauberen Zerstören der Infrastruktur und erweiterte manuelle Bereitstellungsanleitungen finden Sie im Bereitstellungsordner im Stammverzeichnis des Cluster Toolkit-Verzeichnisses: DEPLOYMENT_FOLDER/instructions.txt.
Nächste Schritte
- Reservierungsnutzung prüfen
- Topologie einer Compute-Instanz ansehen
- So verwalten Sie Hostereignisse:
- VMs in Ihrem Slurm-Cluster überwachen
- Mit NCCL/gIB testen und optimieren
- Fehlerhaften Host melden