Ce document décrit les étapes à suivre pour configurer et déployer des clusters Slurm qui utilisent les types de machines A4X, A4, A3 Ultra, A3 Mega ou A3 High. Pour en savoir plus sur ces types de machines optimisés pour les accélérateurs, consultez Types de machines GPU.
Pour découvrir d'autres méthodes permettant de créer un cluster Slurm optimisé pour l'IA dans Google Cloud, consultez les pages suivantes :
Pour utiliser un environnement Slurm géré qui simplifie la configuration et la gestion des clusters, consultez Cluster Director.
Pour déployer deux instances de machines virtuelles (VM) A4 sur Slurm, consultez le guide de démarrage rapide pour créer un cluster Slurm optimisé pour l'IA.
Limites
En fonction de la série de machines utilisée par les VM de votre cluster Slurm, les limites suivantes s'appliquent :
A4X
- Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent ces types de machines. De plus, les types de machines A4X Max ne sont pas compatibles avec les remises sur engagement d'utilisation basées sur les ressources.
- Vous ne pouvez créer des instances que dans certaines régions et zones.
- Vous ne pouvez pas utiliser de disque persistant (régional ou zonal). Vous ne pouvez utiliser que Google Cloud Hyperdisk.
- Ces types de machines ne sont disponibles que sur la plate-forme NVIDIA Grace.
- Il n'est pas possible de modifier le type de machine pour les instances A4X Max ou A4X. Pour passer à l'un de ces types de machines ou en changer, vous devez créer une instance A4X Max ou A4X.
- Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur ces types de machines.
- Pour les instances A4X, lorsque vous utilisez
ethtool -Spour surveiller la mise en réseau des GPU, les compteurs de ports physiques se terminant par_phyne sont pas mis à jour. Il s'agit du comportement attendu pour les instances qui utilisent l'architecture de fonction virtuelle (VF) MRDMA. Pour en savoir plus, consultez Fonctions MRDMA et outils de surveillance du réseau. - Les instances A4X Max et A4X ne prennent pas en charge les éléments suivants :
- La location unique
- Les VM Spot
- Les VM à démarrage flexible
- Vous ne pouvez pas associer les disques Hyperdisk ML créés avant le 4 février 2026 aux types de machines A4X.
A4
- Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent un type de machine A4.
- Vous ne pouvez utiliser un type de machine A4 que dans certaines régions et zones.
- Vous ne pouvez pas utiliser de disque persistant (régional ou zonal). Vous ne pouvez utiliser que Google Cloud Hyperdisk.
- Le type de machine A4 n'est disponible que sur la plate-forme de processeur Emerald Rapids.
- Vous ne pouvez pas modifier le type de machine d'une instance en type de machine A4 ni inversement. Vous devez créer une instance avec ce type de machine.
- Les types de machines A4 ne prennent pas en charge la location unique.
- Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur un type de machine A4.
- Pour les instances A4, lorsque vous utilisez
ethtool -Spour surveiller la mise en réseau des GPU, les compteurs de ports physiques se terminant par_phyne sont pas mis à jour. Il s'agit du comportement attendu pour les instances qui utilisent l'architecture de fonction virtuelle (VF) MRDMA. Pour en savoir plus, consultez Fonctions MRDMA et outils de surveillance du réseau. - Vous ne pouvez pas associer les disques Hyperdisk ML créés avant le 4 février 2026 aux types de machines A4.
A3 Ultra
- Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent un type de machine A3 Ultra.
- Vous ne pouvez utiliser un type de machine A3 Ultra que dans certaines régions et zones.
- Vous ne pouvez pas utiliser de disque persistant (régional ou zonal). Vous ne pouvez utiliser que Google Cloud Hyperdisk.
- Le type de machine A3 Ultra n'est disponible que sur la plate-forme de processeur Emerald Rapids.
- Les modifications de type de machine ne sont pas prises en charge pour le type de machine A3 Ultra. Pour passer à ce type de machine ou en changer, vous devez créer une instance.
- Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur un type de machine A3 Ultra.
- Les types de machines A3 Ultra ne prennent pas en charge la location unique.
- Pour les instances A3 Ultra, lorsque vous utilisez
ethtool -Spour surveiller la mise en réseau des GPU, les compteurs de ports physiques se terminant par_phyne sont pas mis à jour. Il s'agit du comportement attendu pour les instances qui utilisent l'architecture de fonction virtuelle (VF) MRDMA. Pour en savoir plus, consultez Fonctions MRDMA et outils de surveillance du réseau.
A3 Mega
- Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent un type de machine A3 Mega.
- Vous ne pouvez utiliser un type de machine A3 Mega que dans certaines régions et zones.
- Vous ne pouvez pas utiliser de disque persistant régional sur une instance qui utilise un type de machine A3 Mega.
- Le type de machine A3 Mega n'est disponible que sur la plate-forme de processeur Sapphire Rapids.
- Il n'est pas possible de modifier le type de machine A3 Mega. Pour passer à ce type de machine ou en changer, vous devez créer une instance.
- Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur un type de machine A3 Mega.
A3 High
- Vous ne bénéficiez ni de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexible pour les instances qui utilisent un type de machine A3 High.
- Vous ne pouvez utiliser un type de machine A3 High que dans certaines régions et zones.
- Vous ne pouvez pas utiliser de disque persistant régional sur une instance qui utilise un type de machine A3 High.
- Le type de machine A3 High n'est disponible que sur la plate-forme de processeur Sapphire Rapids.
- Il n'est pas possible de modifier le type de machine A3 High. Pour passer à ce type de machine ou en changer, vous devez créer une instance.
- Vous ne pouvez pas exécuter de systèmes d'exploitation Windows sur un type de machine A3 High.
- Pour les types de machines
a3-highgpu-1g,a3-highgpu-2geta3-highgpu-4g, vous devez créer des instances à l'aide de VM Spot ou de VM à démarrage flexible. Pour obtenir des instructions détaillées sur ces options, consultez les références suivantes :- Pour créer des VM Spot, définissez le modèle de provisionnement sur
SPOTlorsque vous créez une VM optimisée pour les accélérateurs. - Pour créer des VM à démarrage flexible, vous pouvez utiliser l'une des méthodes suivantes :
- Créez une VM autonome et définissez le modèle de provisionnement sur
FLEX_STARTlorsque vous créez une VM optimisée pour les accélérateurs. - Créez une demande de redimensionnement dans un groupe d'instances géré (MIG). Pour obtenir des instructions, consultez Créer un MIG comprenant des VM avec GPU.
- Créez une VM autonome et définissez le modèle de provisionnement sur
- Pour créer des VM Spot, définissez le modèle de provisionnement sur
- Vous ne pouvez utiliser une Confidential VM avec un type de machine
a3-highgpu-1gque dans certaines régions et zones. De plus, toutes les limites applicables aux Confidential VM exécutées sur le type de machine A3 High s'appliquent.
Avant de commencer
Avant de créer un cluster Slurm, si ce n'est pas déjà fait, procédez comme suit :
- Choisissez une option de consommation : l'option de consommation que vous choisissez détermine comment vous obtenez et utilisez les ressources GPU.
Pour en savoir plus, consultez Choisir une option de consommation.
- Obtenir de la capacité : le processus d'obtention de la capacité diffère pour chaque option de consommation.
Pour en savoir plus sur la procédure à suivre pour obtenir de la capacité pour l'option de consommation choisie, consultez Présentation de la capacité.
- Assurez-vous de disposer d'un quota de capacité Filestore suffisant : vous devez disposer d'un quota Filestore suffisant dans votre région cible avant le déploiement. La capacité minimale requise dépend des types de machines de votre cluster :
- A4, A4X, A3 Ultra et A3 Mega : nécessite une capacité HIGH_SCALE_SSD (zonale) d'au moins 10 Tio (10 240 Gio).
- A3 High : nécessite une capacité BASIC_SSD (standard) minimale de 2,5 Tio (2 560 Gio).
Pour vérifier votre quota ou demander une augmentation, consultez les ressources suivantes :
- Pour vérifier le quota, consultez Afficher le quota spécifique à l'API.
- Si vous ne disposez pas d'un quota suffisant, demandez une augmentation de quota.
- Installez Cluster Toolkit : pour provisionner des clusters Slurm, vous devez utiliser la version
v1.62.0ou ultérieure de Cluster Toolkit.Pour installer Cluster Toolkit, consultez Configurer 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.
Rôles requis
Pour vous assurer que le compte de service Compute Engine par défaut dispose des autorisations nécessaires pour déployer un cluster Slurm, demandez à votre administrateur d'accorder les rôles IAM suivants au compte de service Compute Engine par défaut :
-
Lecteur des objets Storage (
roles/storage.objectViewer) sur votre projet -
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1) sur votre projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur le compte de service lui-même
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer au compte de service Compute Engine par défaut les autorisations requises à l'aide de rôles personnalisés ou d'autres rôles prédéfinis.
Configurer un bucket de stockage
Les plans de cluster utilisent des modules Terraform pour provisionner l'infrastructure cloud. Une bonne pratique consiste à stocker l'état à distance dans un fichier compatible avec la gestion des versions lorsque vous utilisez Terraform. Sur Google Cloud, vous pouvez créer un bucket Cloud Storage sur lequel la gestion des versions est activée.
Pour créer ce bucket et activer la gestion des versions à partir de la CLI, exécutez les commandes suivantes :
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage répondant aux exigences de dénomination des buckets.PROJECT_ID: ID de votre projet.BUCKET_REGION: tout emplacement disponible.
Ouvrir le répertoire Cluster Toolkit
Pour utiliser Slurm avec Google Cloud, vous devez installer Cluster Toolkit. Après avoir installé le kit d'outils, assurez-vous d'être dans le répertoire Cluster Toolkit en exécutant la commande suivante :
cd cluster-toolkit
Ce déploiement de cluster nécessite Cluster Toolkit v1.62.0 ou version ultérieure. Pour vérifier votre version, vous pouvez exécuter la commande suivante :
./gcluster --version
Créer un fichier de déploiement
Créez un fichier de déploiement que vous pouvez utiliser pour spécifier le bucket Cloud Storage, définir les noms de votre réseau et de votre sous-réseau, et définir des variables de déploiement telles que l'ID de projet, la région et la zone.
Pour créer un fichier de déploiement, suivez les étapes correspondant au type de machine et à l'option de consommation requis.
A4X
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a4xhigh-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région contenant les machines réservées.ZONE: zone dans laquelle vous souhaitez provisionner le cluster. Si vous utilisez une option de consommation basée sur les réservations, les informations sur la région et la zone ont été fournies par votre équipe de compte lorsque la capacité a été fournie.NUMBER_OF_VMS: nombre de VM A4X dans votre cluster. Vous pouvez spécifier autant de VM que vous le souhaitez. Toutefois, les VM A4X sont physiquement interconnectées par un système NVLink multinœud par groupes de 18 VM (72 GPU) pour former un domaine NVLink.Pour des performances réseau optimales, nous vous recommandons de spécifier une valeur qui est un multiple de 18 VM (par exemple, 18, 36 ou 54). Lorsque vous créez un cluster A4X, le blueprint A4X crée et applique automatiquement une stratégie d'emplacement compact avec une topologie GPU de
1x72pour chaque groupe de 18 VM. Pour en savoir plus sur la topologie A4X, consultez Principes de base d'A4X.RESERVATION_NAME: nom de votre réservation.
A4
Les paramètres que vous devez ajouter à votre fichier de déploiement dépendent de l'option de consommation que vous utilisez pour votre déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.
Lié à la réservation
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a4high-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région contenant les machines réservées.ZONE: zone dans laquelle vous souhaitez provisionner le cluster. Si vous utilisez une option de consommation basée sur les réservations, les informations sur la région et la zone ont été fournies par votre équipe de compte lorsque la capacité a été fournie.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.RESERVATION_NAME: nom de votre réservation.
Démarrage flexible
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a4high-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
Ce déploiement provisionne des nœuds de calcul statiques, ce qui signifie que le cluster dispose d'un nombre fixe de nœuds à tout moment. Si vous souhaitez activer l'autoscaling de votre cluster, utilisez le fichier examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml et modifiez les valeurs de node_count_static et node_count_dynamic_max pour qu'elles correspondent à ce qui suit :
node_count_static: 0
node_count_dynamic_max: $(vars.a4h_cluster_size)
Spot
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a4high-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
A3 Ultra
Les paramètres que vous devez ajouter à votre fichier de déploiement dépendent de l'option de consommation que vous utilisez pour votre déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.
Lié à la réservation
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a3ultra-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région contenant les machines réservées.ZONE: zone dans laquelle vous souhaitez provisionner le cluster. Si vous utilisez une option de consommation basée sur les réservations, les informations sur la région et la zone ont été fournies par votre équipe de compte lorsque la capacité a été fournie.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.RESERVATION_NAME: nom de votre réservation.
Démarrage flexible
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a3ultra-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
Ce déploiement provisionne des nœuds de calcul statiques, ce qui signifie que le cluster dispose d'un nombre fixe de nœuds à tout moment. Si vous souhaitez activer l'autoscaling de votre cluster, utilisez le fichier examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml et modifiez les valeurs de node_count_static et node_count_dynamic_max pour qu'elles correspondent à ce qui suit :
node_count_static: 0
node_count_dynamic_max: $(vars.a3u_cluster_size)
Spot
Pour créer votre fichier de déploiement, utilisez un éditeur de texte pour créer un fichier YAML nommé a3ultra-slurm-deployment.yaml et ajoutez le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
A3 Mega
Les paramètres que vous devez ajouter à votre fichier de déploiement dépendent de l'option de consommation que vous utilisez pour votre déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.
Lié à la réservation
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3mega-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région contenant les machines réservées.ZONE: zone dans laquelle vous souhaitez provisionner le cluster. Si vous utilisez une option de consommation basée sur les réservations, les informations sur la région et la zone ont été fournies par votre équipe de compte lorsque la capacité a été fournie.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.RESERVATION_NAME: nom de votre réservation.
Démarrage flexible
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3mega-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
Ce déploiement provisionne des nœuds de calcul statiques, ce qui signifie que le cluster dispose d'un nombre fixe de nœuds à tout moment. Si vous souhaitez activer l'autoscaling de votre cluster, utilisez le fichier examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml et modifiez les valeurs de node_count_static et node_count_dynamic_max pour qu'elles correspondent à ce qui suit :
node_count_static: 0
node_count_dynamic_max: $(vars.a3m_cluster_size)
Spot
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3mega-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
A3 High
Les paramètres que vous devez ajouter à votre fichier de déploiement dépendent de l'option de consommation que vous utilisez pour votre déploiement. Sélectionnez l'onglet correspondant au modèle de provisionnement de votre option de consommation.
Lié à la réservation
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3high-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région contenant les machines réservées.ZONE: zone dans laquelle vous souhaitez provisionner le cluster. Si vous utilisez une option de consommation basée sur les réservations, les informations sur la région et la zone ont été fournies par votre équipe de compte lorsque la capacité a été fournie.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.RESERVATION_NAME: nom de votre réservation.
Démarrage flexible
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3high-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
Ce déploiement provisionne des nœuds de calcul statiques, ce qui signifie que le cluster dispose d'un nombre fixe de nœuds à tout moment. Si vous souhaitez activer l'autoscaling de votre cluster, utilisez le fichier examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml et modifiez les valeurs de node_count_static et node_count_dynamic_max pour qu'elles correspondent à ce qui suit :
node_count_static: 0
node_count_dynamic_max: $(vars.a3h_cluster_size)
Spot
Pour créer votre fichier de déploiement, créez un fichier YAML nommé a3high-slurm-deployment.yaml et ajoutez-y le contenu suivant.
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
Remplacez les éléments suivants :
BUCKET_NAME: nom du bucket Cloud Storage que vous avez créé dans la section précédente.DEPLOYMENT_NAME: nom de votre déploiement. Si vous créez plusieurs clusters, assurez-vous de sélectionner un nom unique pour chacun d'eux.PROJECT_ID: ID de votre projet.REGION: région dans laquelle vous souhaitez provisionner votre cluster.ZONE: zone dans laquelle vous souhaitez provisionner votre cluster.NUMBER_OF_VMS: nombre de VM que vous souhaitez pour le cluster.
Provisionner un cluster Slurm
Cluster Toolkit provisionne le cluster en fonction du fichier de déploiement que vous avez créé à l'étape précédente et du plan de cluster par défaut. Pour en savoir plus sur les logiciels installés par le blueprint, y compris les pilotes NVIDIA et CUDA, consultez les informations sur les images personnalisées Slurm.
Pour provisionner le cluster, exécutez la commande correspondant à votre type de machine à partir du répertoire Cluster Toolkit. Cette étape prend environ 20 à 30 minutes.
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
Se connecter au cluster Slurm
Pour accéder à votre cluster, vous devez vous connecter au nœud de connexion Slurm. Pour vous connecter, vous pouvez utiliser la console Google Cloud ou Google Cloud CLI.
Console
Accédez à la page Compute Engine > Instances de VM.
Recherchez le nœud de connexion. Son nom doit suivre le modèle
DEPLOYMENT_NAME+login-001.Dans la colonne Connecter du nœud de connexion, cliquez sur SSH.
gcloud
Pour vous connecter au nœud de connexion, procédez comme suit :
Identifiez le nœud de connexion à l'aide de la commande
gcloud compute instances list.gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"Si la sortie liste plusieurs clusters Slurm, vous pouvez identifier votre nœud de connexion par le
DEPLOYMENT_NAMEque vous avez spécifié.Exécutez la commande
gcloud compute sshpour vous connecter au nœud de connexion.gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iapRemplacez les éléments suivants :
ZONE: zone où se trouvent les VM de votre cluster.LOGIN_NODE: nom du nœud de connexion que vous avez identifié à l'étape précédente.
Tester les performances du réseau sur le cluster Slurm
Nous vous recommandons de valider le fonctionnement des clusters provisionnés. Pour ce faire, utilisez les tests NCCL, qui sont des tests NVIDIA Collective Communications Library (NCCL) optimisés pour l'environnement Google.
Redéployer le cluster Slurm
Si vous devez augmenter le nombre de nœuds de calcul ou ajouter des partitions à votre cluster, vous devrez peut-être mettre à jour les configurations de votre cluster Slurm en le redéployant. Vous pouvez accélérer le redéploiement en utilisant une image existante provenant d'un déploiement précédent. Pour éviter de créer des images lors d'un redéploiement, spécifiez l'option --only.
Pour redéployer le cluster à l'aide d'une image existante, procédez comme suit :
Exécutez la commande correspondant au type de machine requis :
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
Cette commande ne s'applique qu'aux redéploiements pour lesquels une image existe déjà. Elle ne redéploie que le cluster et son infrastructure.
Détruire le cluster Slurm
Par défaut, les plans A4X, A4 et A3 Ultra activent la protection contre la suppression sur l'instance Filestore. Pour supprimer l'instance Filestore lorsque vous détruisez le cluster Slurm, désactivez la protection contre la suppression avant d'exécuter la commande de destruction. Pour obtenir des instructions, consultez Définir ou supprimer la protection contre la suppression sur une instance existante.
Déconnectez-vous du cluster si vous ne l'avez pas déjà fait.
Avant d'exécuter la commande de destruction, accédez à la racine du répertoire Cluster Toolkit. Par défaut, DEPLOYMENT_FOLDER se trouve à la racine du répertoire Cluster Toolkit.
Pour détruire le cluster, exécutez la commande suivante :
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Remplacez les éléments suivants :
DEPLOYMENT_FOLDER: nom du dossier de déploiement. Il est généralement identique à DEPLOYMENT_NAME.
Une fois la destruction terminée, un message semblable à celui-ci s'affiche :
Destroy complete! Resources: xx destroyed.
Pour savoir comment détruire proprement l'infrastructure et obtenir des instructions de déploiement manuel avancées, consultez le dossier de déploiement situé à la racine du répertoire Cluster Toolkit : DEPLOYMENT_FOLDER/instructions.txt.
Étapes suivantes
- Vérifier la consommation des réservations
- Afficher la topologie d'une instance de calcul
- Découvrez comment gérer les événements hôtes :
- Surveiller les VM dans votre cluster Slurm
- Tester et optimiser avec NCCL/gIB
- Signaler un hôte défectueux