Questo documento descrive i passaggi per configurare ed eseguire il deployment di cluster Slurm che utilizzano tipi di macchine A4X, A4, A3 Ultra, A3 Mega o A3 High. Per saperne di più su questi tipi di macchine ottimizzate per l'acceleratore, vedi Tipi di macchine GPU.
Per altri metodi per creare un cluster Slurm ottimizzato per l'AI in Google Cloud, consulta quanto segue:
Per utilizzare un ambiente Slurm gestito che semplifica la configurazione e la gestione dei cluster, consulta Cluster Director.
Per eseguire il deployment di due istanze di macchine virtuali (VM) A4 su Slurm, consulta la guida rapida per la creazione di un cluster Slurm ottimizzato per l'AI.
Limitazioni
A seconda della serie di macchine utilizzata dalle VM nel cluster Slurm, si applicano le seguenti limitazioni:
A4X
- Non sono previsti sconti per utilizzo sostenuto o per impegno di utilizzo flessibile per le istanze che utilizzano questi tipi di macchine. Inoltre, i tipi di macchine A4X Max non supportano gli sconti per impegno di utilizzo basato sulle risorse.
- Puoi creare istanze solo in determinate regioni e zone.
- Non puoi utilizzare Persistent Disk (a livello di regione o di zona). Puoi utilizzare solo Google Cloud Hyperdisk.
- Questi tipi di macchine sono disponibili solo sulla piattaforma NVIDIA Grace.
- Le modifiche al tipo di macchina non sono supportate per A4X Max o A4X. Per passare a uno di questi tipi di macchine o viceversa, devi creare una nuova istanza A4X Max o A4X.
- Non puoi eseguire sistemi operativi Windows su questi tipi di macchine.
- Per le istanze A4X, quando utilizzi
ethtool -Sper monitorare il networking GPU, i contatori delle porte fisiche che terminano con_phynon vengono aggiornati. Questo è il comportamento previsto per le istanze che utilizzano l'architettura della funzione virtuale (VF) MRDMA. Per saperne di più, consulta Funzioni MRDMA e strumenti di monitoraggio della rete. - Le istanze A4X Max e A4X non supportano quanto segue:
- Non puoi collegare dischi Hyperdisk ML creati prima del 4 febbraio 2026 ai tipi di macchina A4X.
A4
- Non sono previsti sconti per utilizzo sostenuto e per impegno di utilizzo flessibile per le istanze che utilizzano un tipo di macchina A4.
- Puoi utilizzare un tipo di macchina A4 solo in alcune regioni e zone.
- Non puoi utilizzare Persistent Disk (a livello di regione o di zona). Puoi utilizzare solo Google Cloud Hyperdisk.
- Il tipo di macchina A4 è disponibile solo sulla piattaforma CPU Emerald Rapids.
- Non puoi modificare il tipo di macchina di un'istanza in o da un tipo di macchina A4. Devi creare una nuova istanza con questo tipo di macchina.
- I tipi di macchine A4 non supportano la modalità single-tenancy.
- Non puoi eseguire sistemi operativi Windows su un tipo di macchina A4.
- Per le istanze A4, quando utilizzi
ethtool -Sper monitorare il networking GPU, i contatori delle porte fisiche che terminano con_phynon vengono aggiornati. Si tratta di un comportamento previsto per le istanze che utilizzano l'architettura della funzione virtuale (VF) MRDMA. Per saperne di più, consulta Funzioni MRDMA e strumenti di monitoraggio della rete. - Non puoi collegare i dischi Hyperdisk ML creati prima del 4 febbraio 2026 ai tipi di macchina A4.
A3 Ultra
- Non sono previsti sconti per utilizzo sostenuto e per impegno di utilizzo flessibile per le istanze che utilizzano un tipo di macchina A3 Ultra.
- Puoi utilizzare un tipo di macchina A3 Ultra solo in alcune regioni e zone.
- Non puoi utilizzare Persistent Disk (a livello di regione o di zona). Puoi utilizzare solo Google Cloud Hyperdisk.
- Il tipo di macchina A3 Ultra è disponibile solo sulla piattaforma CPU Emerald Rapids.
- Le modifiche al tipo di macchina non sono supportate per il tipo di macchina A3 Ultra. Per passare a questo tipo di macchina o viceversa, devi creare una nuova istanza.
- Non puoi eseguire sistemi operativi Windows su un tipo di macchina A3 Ultra.
- I tipi di macchine A3 Ultra non supportano la modalità single-tenancy.
- Per le istanze A3 Ultra, quando utilizzi
ethtool -Sper monitorare il networking GPU, i contatori delle porte fisiche che terminano con_phynon vengono aggiornati. Questo è il comportamento previsto per le istanze che utilizzano l'architettura della funzione virtuale (VF) MRDMA. Per saperne di più, consulta Funzioni MRDMA e strumenti di monitoraggio della rete.
A3 Mega
- Non sono previsti sconti per utilizzo sostenuto e per impegno di utilizzo flessibile per le istanze che utilizzano un tipo di macchina A3 Mega.
- Puoi utilizzare un tipo di macchina A3 Mega solo in alcune regioni e zone.
- Non puoi utilizzare i Persistent Disk a livello di regione su un'istanza che utilizza un tipo di macchina A3 Mega.
- Il tipo di macchina A3 Mega è disponibile solo sulla piattaforma CPU Sapphire Rapids.
- Le modifiche al tipo di macchina non sono supportate per il tipo di macchina A3 Mega. Per passare a questo tipo di macchina o viceversa, devi creare una nuova istanza.
- Non puoi eseguire sistemi operativi Windows su un tipo di macchina A3 Mega.
A3 High
- Non sono previsti sconti per utilizzo sostenuto e per impegno di utilizzo flessibile per le istanze che utilizzano un tipo di macchina A3 High.
- Puoi utilizzare un tipo di macchina A3 High solo in alcune regioni e zone.
- Non puoi utilizzare i Persistent Disk a livello di regione su un'istanza che utilizza un tipo di macchina A3 High.
- Il tipo di macchina A3 High è disponibile solo sulla piattaforma CPU Sapphire Rapids.
- Le modifiche al tipo di macchina non sono supportate per il tipo di macchina A3 High. Per passare a questo tipo di macchina o viceversa, devi creare una nuova istanza.
- Non puoi eseguire sistemi operativi Windows su un tipo di macchina A3 High.
- Per i tipi di macchine
a3-highgpu-1g,a3-highgpu-2gea3-highgpu-4g, devi creare istanze utilizzando VM spot o VM flessibili. Per istruzioni dettagliate su queste opzioni, consulta quanto segue:- Per creare VM spot, imposta il modello di provisioning su
SPOTquando crei una VM ottimizzata per l'acceleratore. - Per creare VM con avvio flessibile, puoi utilizzare uno dei seguenti metodi:
- Crea una VM autonoma e imposta il modello di provisioning su
FLEX_STARTquando crei una VM ottimizzata per l'acceleratore. - Crea una richiesta di ridimensionamento in un gruppo di istanze gestite (MIG). Per istruzioni, vedi Crea un MIG con VM GPU.
- Crea una VM autonoma e imposta il modello di provisioning su
- Per creare VM spot, imposta il modello di provisioning su
- Puoi utilizzare una
Confidential VM
con un tipo di macchina
a3-highgpu-1gin regioni e zone limitate e si applicano tutte le limitazioni per Confidential VM in esecuzione sul tipo di macchina A3 High.
Prima di iniziare
Prima di creare un cluster Slurm, se non l'hai ancora fatto, completa i seguenti passaggi:
- Scegli un'opzione di consumo: l'opzione di consumo scelta determina come ottenere
e utilizzare le risorse GPU.
Per saperne di più, consulta la sezione Scegliere un'opzione di consumo.
- Ottenere capacità: la procedura per ottenere capacità varia a seconda dell'opzione di consumo.
Per scoprire di più sulla procedura per ottenere la capacità per l'opzione di consumo scelta, consulta Panoramica della capacità.
- Assicurati di disporre di una quota di capacità Filestore sufficiente: prima del deployment, devi disporre di una quota Filestore sufficiente nella regione di destinazione. La capacità minima richiesta
dipende dai tipi di macchina nel cluster:
- A4, A4X, A3 Ultra e A3 Mega: richiedono una capacità HIGH_SCALE_SSD (zonale) minima di 10 TiB (10.240 GiB).
- A3 High: richiede un minimo di 2,5 TiB (2560 GiB) di capacità BASIC_SSD (standard).
Per controllare la quota o richiedere un aumento della quota, consulta quanto segue:
- Per controllare la quota, consulta Visualizzare la quota specifica dell'API.
- Se non disponi di quota sufficiente, richiedi un aumento della quota.
- Installa Cluster Toolkit: per eseguire il provisioning dei cluster Slurm, devi utilizzare
Cluster Toolkit versione
v1.62.0o successive.Per installare Cluster Toolkit, vedi Configura Cluster Toolkit.
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.
Ruoli obbligatori
Per assicurarti che il account di servizio predefinito di Compute Engine disponga delle autorizzazioni necessarie per eseguire il deployment di un cluster Slurm, chiedi all'amministratore di concedere i seguenti ruoli IAM al account di servizio predefinito di Compute Engine:
-
Visualizzatore oggetti Storage (
roles/storage.objectViewer) sul tuo progetto -
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) nel tuo progetto -
Service Account User (
roles/iam.serviceAccountUser) sul account di servizio stesso
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
L'amministratore potrebbe anche essere in grado di concedere al account di servizio predefinito di Compute Engine le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Configurare un bucket di archiviazione
I progetti iniziali del cluster utilizzano i moduli Terraform per eseguire il provisioning dell'infrastruttura cloud. Una best practice quando si utilizza Terraform è di <x0A>archiviare lo stato da remoto <x0A>in un file abilitato per il controllo delle versioni. In Google Cloud, puoi creare un bucket Cloud Storage in cui è abilitato il controllo delle versioni.
Per creare questo bucket e abilitare il controllo delle versioni dalla CLI, esegui questi comandi:
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
Sostituisci quanto segue:
BUCKET_NAME: un nome per il bucket Cloud Storage che soddisfi i requisiti di denominazione dei bucket.PROJECT_ID: il tuo ID progetto.BUCKET_REGION: qualsiasi posizione disponibile.
Apri la directory di Cluster Toolkit
Per utilizzare Slurm con Google Cloud, devi installare Cluster Toolkit. Dopo aver installato il toolkit, assicurati di trovarti nella directory del toolkit del cluster eseguendo il seguente comando:
cd cluster-toolkit
Il deployment di questo cluster richiede Cluster Toolkit v1.62.0 o versioni successive. Per controllare la versione, puoi eseguire questo comando:
./gcluster --version
Crea un file di deployment
Crea un file di deployment che puoi utilizzare per specificare il bucket Cloud Storage, impostare i nomi della rete e della subnet e impostare le variabili di deployment come ID progetto, regione e zona.
Per creare un file di deployment, segui i passaggi per il tipo di macchina e l'opzione di consumo che ti interessano.
A4X
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a4xhigh-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione che contiene le macchine riservate.ZONE: la zona in cui vuoi eseguire il provisioning del cluster. Se utilizzi un'opzione di consumo basata sulla prenotazione, le informazioni su regione e zona sono state fornite dal team dell'account al momento della consegna della capacità.NUMBER_OF_VMS: il numero di VM A4X nel cluster. Puoi specificare un numero qualsiasi di VM. Tuttavia, le VM A4X sono interconnesse fisicamente da un sistema NVLink multi-nodo in gruppi di 18 VM (72 GPU) per formare un dominio NVLink.Per prestazioni di rete ottimali, ti consigliamo di specificare un valore multiplo di 18 VM (ad esempio 18, 36 o 54). Quando crei un cluster A4X, il blueprint A4X crea e applica automaticamente una policy di posizionamento compatto con una topologia GPU di
1x72per ogni gruppo di 18 VM. Per saperne di più sulla topologia A4X, consulta Nozioni di base di A4X.RESERVATION_NAME: il nome della tua prenotazione.
A4
I parametri da aggiungere al file di deployment dipendono dall'opzione di consumo che utilizzi per il deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a4high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione che contiene le macchine riservate.ZONE: la zona in cui vuoi eseguire il provisioning del cluster. Se utilizzi un'opzione di consumo basata sulla prenotazione, le informazioni su regione e zona sono state fornite dal team dell'account al momento della consegna della capacità.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.RESERVATION_NAME: il nome della tua prenotazione.
Avvio flessibile
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a4high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
Questo deployment esegue il provisioning di nodi di calcolo statici,
il che significa che il cluster ha un numero fisso di nodi in qualsiasi momento. Se invece vuoi abilitare la scalabilità automatica del cluster, utilizza il file examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml e modifica i valori di node_count_static e node_count_dynamic_max in modo che corrispondano a quanto segue:
node_count_static: 0
node_count_dynamic_max: $(vars.a4h_cluster_size)
Spot
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a4high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
A3 Ultra
I parametri da aggiungere al file di deployment dipendono dall'opzione di consumo che utilizzi per il deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a3ultra-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione che contiene le macchine riservate.ZONE: la zona in cui vuoi eseguire il provisioning del cluster. Se utilizzi un'opzione di consumo basata sulla prenotazione, le informazioni su regione e zona sono state fornite dal team dell'account al momento della consegna della capacità.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.RESERVATION_NAME: il nome della tua prenotazione.
Avvio flessibile
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a3ultra-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
Questo deployment esegue il provisioning di nodi di calcolo statici,
il che significa che il cluster ha un numero fisso di nodi in qualsiasi momento. Se invece vuoi abilitare la scalabilità automatica del cluster, utilizza il file examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml e modifica i valori di node_count_static e node_count_dynamic_max in modo che corrispondano a quanto segue:
node_count_static: 0
node_count_dynamic_max: $(vars.a3u_cluster_size)
Spot
Per creare il file di deployment, utilizza un editor di testo per creare un file YAML denominato
a3ultra-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
A3 Mega
I parametri da aggiungere al file di deployment dipendono dall'opzione di consumo che utilizzi per il deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Per creare il file di deployment, crea un file YAML denominato
a3mega-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione che contiene le macchine riservate.ZONE: la zona in cui vuoi eseguire il provisioning del cluster. Se utilizzi un'opzione di consumo basata sulla prenotazione, le informazioni su regione e zona sono state fornite dal team dell'account al momento della consegna della capacità.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.RESERVATION_NAME: il nome della tua prenotazione.
Avvio flessibile
Per creare il file di deployment, crea un file YAML denominato
a3mega-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
Questo deployment esegue il provisioning di nodi di calcolo statici,
il che significa che il cluster ha un numero fisso di nodi in qualsiasi momento. Se invece vuoi abilitare la scalabilità automatica del cluster, utilizza il file examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml e modifica i valori di node_count_static e node_count_dynamic_max in modo che corrispondano a quanto segue:
node_count_static: 0
node_count_dynamic_max: $(vars.a3m_cluster_size)
Spot
Per creare il file di deployment, crea un file YAML denominato
a3mega-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
A3 High
I parametri da aggiungere al file di deployment dipendono dall'opzione di consumo che utilizzi per il deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Per creare il file di deployment, crea un file YAML denominato
a3high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione che contiene le macchine riservate.ZONE: la zona in cui vuoi eseguire il provisioning del cluster. Se utilizzi un'opzione di consumo basata sulla prenotazione, le informazioni su regione e zona sono state fornite dal team dell'account al momento della consegna della capacità.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.RESERVATION_NAME: il nome della tua prenotazione.
Avvio flessibile
Per creare il file di deployment, crea un file YAML denominato
a3high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
Questo deployment esegue il provisioning di nodi di calcolo statici,
il che significa che il cluster ha un numero fisso di nodi in qualsiasi momento. Se invece vuoi abilitare la scalabilità automatica del cluster, utilizza il file examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml e modifica i valori di node_count_static e node_count_dynamic_max in modo che corrispondano a quanto segue:
node_count_static: 0
node_count_dynamic_max: $(vars.a3h_cluster_size)
Spot
Per creare il file di deployment, crea un file YAML denominato
a3high-slurm-deployment.yaml e aggiungi i seguenti contenuti.
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
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage creato nella sezione precedente.DEPLOYMENT_NAME: un nome per il deployment. Se crei più cluster, assicurati di selezionare un nome univoco per ciascuno.PROJECT_ID: il tuo ID progetto.REGION: la regione in cui vuoi eseguire il provisioning del cluster.ZONE: la zona in cui vuoi eseguire il provisioning del cluster.NUMBER_OF_VMS: il numero di VM che vuoi per il cluster.
Esegui il provisioning di un cluster Slurm
Cluster Toolkit esegue il provisioning del cluster in base al file di deployment creato nel passaggio precedente e al progetto iniziale del cluster predefinito. Per ulteriori informazioni sul software installato dal blueprint, inclusi i driver NVIDIA e CUDA, scopri di più sulle immagini personalizzate di Slurm.
Per eseguire il provisioning del cluster, esegui il comando per il tuo tipo di macchina dalla directory Cluster Toolkit. Questo passaggio richiede circa 20-30 minuti.
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
Connettiti al cluster Slurm
Per accedere al cluster, devi accedere al nodo di accesso Slurm. Per accedere, puoi utilizzare la console Google Cloud o Google Cloud CLI.
Console
Vai alla pagina Compute Engine > Istanze VM.
Individua il nodo di accesso. Deve avere un nome con il pattern
DEPLOYMENT_NAME+login-001.Nella colonna Connetti del nodo di accesso, fai clic su SSH.
gcloud
Per connetterti al nodo di accesso, completa i seguenti passaggi:
Identifica il nodo di accesso utilizzando il comando
gcloud compute instances list.gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"Se l'output elenca più cluster Slurm, puoi identificare il nodo di accesso in base a
DEPLOYMENT_NAMEche hai specificato.Utilizza il comando
gcloud compute sshper connetterti al nodo di accesso.gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iapSostituisci quanto segue:
ZONE: la zona in cui si trovano le VM per il cluster.LOGIN_NODE: il nome del nodo di accesso, che hai identificato nel passaggio precedente.
Testare le prestazioni di rete sul cluster Slurm
Ti consigliamo di convalidare la funzionalità dei cluster di cui è stato eseguito il provisioning. Per farlo, utilizza i test NCCL, ovvero i test NVIDIA Collective Communications Library (NCCL) ottimizzati per l'ambiente Google.
Esegui nuovamente il deployment del cluster Slurm
Se devi aumentare il numero di nodi di calcolo o aggiungere nuove partizioni al cluster, potrebbe essere necessario aggiornare le configurazioni del cluster Slurm eseguendo nuovamente il deployment. Il redeployment può essere velocizzato utilizzando un'immagine esistente di un
deployment precedente. Per evitare di creare nuove immagini durante un nuovo deployment, specifica il flag
--only.
Per eseguire nuovamente il deployment del cluster utilizzando un'immagine esistente:
Esegui il comando per il tipo di macchina richiesto:
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
Questo comando è solo per i nuovi deployment in cui esiste già un'immagine. Esegue solo il nuovo deployment del cluster e della sua infrastruttura.
Elimina il cluster Slurm
Per impostazione predefinita, i progetti iniziali A4X, A4 e A3 Ultra attivano la protezione da eliminazione sull'istanza Filestore. Per eliminare l'istanza Filestore quando elimini il cluster Slurm, disabilita la protezione da eliminazione prima di eseguire il comando di eliminazione. Per istruzioni, vedi Impostare o rimuovere la protezione dall'eliminazione su un'istanza esistente.
Scollegati dal cluster, se non l'hai ancora fatto.
Prima di eseguire il comando di eliminazione, vai alla directory root di Cluster Toolkit. Per impostazione predefinita, DEPLOYMENT_FOLDER si trova nella directory root di Cluster Toolkit.
Per eliminare il cluster, esegui:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Sostituisci quanto segue:
DEPLOYMENT_FOLDER: il nome della cartella di deployment. In genere, è uguale a DEPLOYMENT_NAME.
Al termine dell'eliminazione, dovresti visualizzare un messaggio simile al seguente:
Destroy complete! Resources: xx destroyed.
Per scoprire come eliminare in modo pulito l'infrastruttura e per istruzioni avanzate per l'implementazione manuale, consulta la cartella di implementazione che si trova nella directory root di Cluster Toolkit: DEPLOYMENT_FOLDER/instructions.txt
Passaggi successivi
- Verifica il consumo della prenotazione
- Visualizza la topologia di un'istanza di computing
- Scopri come gestire gli eventi sull'host:
- Monitora le VM nel cluster Slurm
- Test e ottimizzazione con NCCL/gIB
- Segnala un host difettoso