Créer des groupes de VM de GPU à l'aide des modèles d'instance


Vous pouvez utiliser des modèles d'instance pour créer des groupes d'instances gérés avec des GPU ajoutés à chaque instance. Les groupes d'instances gérés utilisent ces modèles pour créer plusieurs instances identiques. Vous pouvez adapter le nombre d'instances du groupe à votre charge de travail.

Comme le kit CUDA et le pilote NVIDIA doivent être installés sur les instances créées, le processus de création d'un modèle d'instance pour les instances GPU est le suivant :

  1. Créez une instance dotée de GPU associés.
  2. Installez un pilote GPU sur l'instance.
  3. Créez une image à partir du disque associé à l'instance de VM sur laquelle sont installés les GPU et les pilotes.
  4. Utilisez l'image pour créer un modèle d'instance.
  5. Utiliser le modèle pour créer un groupe d'instances

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    Terraform

    Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.

    1. Installez Google Cloud CLI.
    2. Pour initialiser gcloudCLI, exécutez la commande suivante :

      gcloud init
    3. Créez des identifiants d'authentification locaux pour votre compte Google :

      gcloud auth application-default login

    Pour en savoir plus, consultez les sections sur Configurer l'authentification pour un environnement de développement local.

Créer un modèle d'instance

Vous pouvez créer un modèle d'instance global ou régional. Si vous souhaitez créer un modèle d'instance régional, veillez à sélectionner une région dans laquelle au moins une zone est compatible avec le modèle de GPU souhaité.

Pour plus d'informations sur la création d'un modèle d'instance, consultez la page Créer des modèles d'instance.

Console

Si vous créez le modèle d'instance à l'aide de Cloud Console, veillez à effectuer les personnalisations suivantes :

  • Indiquez le type de machine.
  • Indiquez le nom et la famille de l'image personnalisée associée aux GPU et aux pilotes.

Pour plus d'informations sur l'utilisation d'images personnalisées, consultez la page Utiliser des images personnalisées ou publiques dans vos modèles d'instance.

gcloud

Pour créer le modèle d'instance à l'aide de la commande gcloud compute instance-templates create, incluez les options --accelerators et --maintenance-policy TERMINATE. Si vous souhaitez créer un modèle d'instance régional, vous devez utiliser l'option --instance-template-region pour spécifier la région du modèle.

L'exemple suivant permet de créer un modèle d'instance global avec deux processeurs virtuels, un disque de démarrage de 250 Go utilisant votre image (avec les pilotes installés) et un GPU NVIDIA T4. Remplacez my-image et my-project par le nom de l'image et du projet pour l'image contenant les GPU et les pilotes associés.

gcloud compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family my-image \
    --image-project my-project \
    --maintenance-policy TERMINATE \
    --restart-on-failure

Terraform

L'exemple suivant permet de créer un modèle d'instance global avec deux processeurs virtuels, un disque de démarrage de 250 Go utilisant une image (avec les pilotes installés) et un GPU NVIDIA T4. Pour en savoir plus sur la ressource utilisée dans l'exemple, consultez la section Ressource google_compute_instance_template.

Pour créer un modèle d'instance régional, utilisez la ressource google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "gpu-template"
  machine_type = "n1-standard-2"

  disk {
    source_image = "debian-cloud/debian-11"
  }

  network_interface {
    network = "default"
  }

  guest_accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  scheduling {
    on_host_maintenance = "TERMINATE"
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Créer un groupe d'instances

Après avoir créé le modèle, utilisez-le pour créer un groupe d'instances. Chaque fois que vous ajoutez une instance au groupe, cette instance démarre avec les paramètres du modèle d'instance.

Si vous créez un groupe d'instances géré régional, veillez à sélectionner les zones qui prennent spécifiquement en charge le modèle de GPU souhaité. Pour obtenir une liste des modèles de GPU et des zones disponibles, consultez la section GPU sur Compute Engine. L'exemple suivant permet de créer un groupe d'instances géré régional sur deux zones acceptant le modèle nvidia-tesla-t4.

gcloud compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

Étape suivante