Créer un cluster Slurm optimisé pour l'IA

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 :

Limites

En fonction de la série de machines utilisée par les VM de votre cluster Slurm, les limites suivantes s'appliquent :

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 -S pour surveiller la mise en réseau des GPU, les compteurs de ports physiques se terminant par _phy ne 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

A3 Mega

A3 High

Avant de commencer

Avant de créer un cluster Slurm, si ce n'est pas déjà fait, procédez comme suit :

  1. 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.

  2. 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é.

  3. 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 :

  4. Installez Cluster Toolkit : pour provisionner des clusters Slurm, vous devez utiliser la version v1.62.0 ou ultérieure de Cluster Toolkit.

    Pour installer Cluster Toolkit, consultez Configurer Cluster Toolkit.

In the Google Cloud console, activate Cloud Shell.

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 :

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 :

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 1x72 pour 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

  1. Accédez à la page Compute Engine > Instances de VM.

    Accéder à la page "Instances de VM"

  2. Recherchez le nœud de connexion. Son nom doit suivre le modèle DEPLOYMENT_NAME+login-001.

  3. 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 :

  1. 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_NAME que vous avez spécifié.

  2. Exécutez la commande gcloud compute ssh pour vous connecter au nœud de connexion.

    gcloud compute ssh LOGIN_NODE \
      --zone=ZONE --tunnel-through-iap
    

    Remplacez 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 :

  1. Se connecter au cluster

  2. 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.

  1. Déconnectez-vous du cluster si vous ne l'avez pas déjà fait.

  2. 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.

  3. 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