Créer des VM N1 optimisées pour l'IA avec des GPU de manière groupée

Ce document explique comment créer des instances de machines virtuelles (VM) en masse qui utilisent la série de machines N1 avec des GPU associés. Pour en savoir plus sur ces types de machines optimisés pour les accélérateurs, consultez la section Série N1+GPU.

Pour en savoir plus sur la création de VM de manière groupée, consultez À propos de la création groupée de VM dans la documentation Compute Engine.

Pour découvrir d'autres méthodes de création de VM ou de clusters, consultez Présentation des options de déploiement.

Limites

Pour connaître les limites qui s'appliquent aux types de machines N1 avec GPU, consultez les ressources suivantes :

Avant de commencer

Avant de créer des VM de manière groupée, si vous ne l'avez 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é.

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 Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.

gcloud

Dans la console Google Cloud , activez Cloud Shell.

Activer Cloud Shell

En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

REST

Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

    Installez la Google Cloud CLI.

    Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .

Rôles requis

Pour obtenir les autorisations nécessaires à la création de VM de manière groupée, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer des VM de manière groupée. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer des VM de manière groupée :

  • compute.instances.create sur le projet
  • Pour créer la VM à l'aide d'une image personnalisée : compute.images.useReadOnly sur l'image
  • Pour créer la VM à l'aide d'un instantané : compute.snapshots.useReadOnly sur l'instantané
  • Pour créer la VM à l'aide d'un modèle d'instance : compute.instanceTemplates.useReadOnly sur le modèle d'instance
  • Pour spécifier un sous-réseau pour la VM : compute.subnetworks.use sur le projet ou sur le sous-réseau choisi
  • Pour spécifier une adresse IP statique pour la VM : compute.addresses.use sur le projet
  • Pour attribuer une adresse IP externe à la VM en cas d'utilisation d'un réseau VPC : compute.subnetworks.useExternalIp sur le projet ou sur le sous-réseau choisi
  • Pour attribuer un ancien réseau à la VM : compute.networks.use sur le projet
  • Pour attribuer une adresse IP externe à la VM en cas d'utilisation d'un ancien réseau : compute.networks.useExternalIp sur le projet
  • Pour définir les métadonnées d'instance de VM pour la VM : compute.instances.setMetadata sur le projet
  • Pour définir des tags pour la VM : compute.instances.setTags sur la VM
  • Pour définir des étiquettes pour la VM : compute.instances.setLabels sur la VM
  • Pour définir un compte de service que doit utiliser la VM : compute.instances.setServiceAccount sur la VM
  • Pour créer un disque pour la VM : compute.disks.create sur le projet
  • Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture : compute.disks.use sur le disque
  • Pour associer un disque existant en mode lecture seule : compute.disks.useReadOnly sur le disque

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Présentation

La création d'instances groupées avec le type de machine N1 avec GPU T4 ou V100 comprend les étapes suivantes :

  1. Créer des instances de manière groupée
  2. Installer des pilotes de GPU.

Créer des VM N1 avec GPU de manière groupée

Pour créer des VM N1 avec GPU de manière groupée, utilisez l'une des méthodes suivantes.

Les commandes suivantes définissent également le niveau d'accès pour vos instances. Pour simplifier la gestion des autorisations, Google vous recommande de définir le niveau d'accès d'une instance sur cloud-platform, puis d'utiliser des rôles IAM pour définir les services auxquels l'instance peut accéder. Pour en savoir plus, consultez les bonnes pratiques concernant les niveaux d'accès.

gcloud

Pour créer des instances de manière groupée, utilisez la commande gcloud compute instances bulk create.

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant à votre option de consommation.

Réservation

Les instances N1 avec GPU T4 ou V100 sont compatibles avec les types de réservations suivants :

  • Réservations à la demande
  • Réservations futures standards

Pour utiliser ces types de réservations, une instance doit utiliser le modèle de provisionnement standard. Par exemple, utilisez les paramètres de création suivants.

Avant d'exécuter la commande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des indicateurs supplémentaires.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • REGION : spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • RESERVATION_AFFINITY : les réservations que l'instance est autorisée à utiliser, si possible. Spécifiez l'une des options suivantes :

      • any (la capacité de réservation est facultative) : il s'agit de l'option par défaut. L'instance tente d'utiliser la capacité d'une réservation à consommation automatique, ce qui ne se produit que si la capacité de réservation correspondante est disponible. Sinon, l'instance utilise la capacité à la demande.

      • specific (Capacité de réservation requise) : exige que l'instance utilise la capacité d'une réservation spécifiquement ciblée. L'instance n'est pas autorisée à utiliser la capacité à la demande. Si la capacité de réservation n'est pas disponible, la création de l'instance échoue.

    • RESERVATION : réservation à utiliser. Spécifiez l'une des valeurs suivantes en fonction de la valeur que vous avez spécifiée pour RESERVATION_AFFINITY :

      • Si vous avez spécifié any, remplacez RESERVATION par une chaîne vide (""). Vous pouvez également supprimer complètement l'option --reservation.
      • Si vous avez spécifié specific, remplacez RESERVATION par ce qui suit :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Remplacez les éléments suivants :

        • RESERVATION_OWNER_PROJECT_ID : ID du projet dans lequel la réservation a été créée.
        • RESERVATION_NAME : nom de la réservation.
  2. Par défaut, l'instance redémarre automatiquement en cas de plantage ou si Compute Engine l'arrête pour un arrêt programmé, comme un événement de maintenance. Si vous souhaitez désactiver le redémarrage automatique, ajoutez le flag suivant :

    --no-restart-on-failure
  3. Facultatif : Pour associer des disques SSD locaux, ajoutez l'indicateur --local-ssd suivant pour chaque disque SSD local.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Remplacez les éléments suivants :

    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  4. Exécutez la commande.

À la demande

Avant d'exécuter la commande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des indicateurs supplémentaires.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • REGION : spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • RESERVATION_AFFINITY : les réservations que l'instance est autorisée à utiliser, si possible. Spécifiez l'une des options suivantes :

      • any (la capacité de réservation est facultative) : il s'agit de l'option par défaut. L'instance tente d'utiliser la capacité d'une réservation à consommation automatique, ce qui ne se produit que si la capacité de réservation correspondante est disponible. Sinon, l'instance utilise la capacité à la demande.

      • none (capacité à la demande requise) : empêche l'instance d'utiliser la capacité de réservation.

  2. Par défaut, l'instance redémarre automatiquement en cas de plantage ou si Compute Engine l'arrête pour un arrêt programmé, comme un événement de maintenance. Si vous souhaitez désactiver le redémarrage automatique, ajoutez le flag suivant :

    --no-restart-on-failure
  3. Facultatif : Pour associer des disques SSD locaux, ajoutez l'indicateur --local-ssd suivant pour chaque disque SSD local.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Remplacez les éléments suivants :

    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  4. Exécutez la commande.

Spot

Avant d'exécuter la commande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des indicateurs supplémentaires.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • REGION : spécifiez une région dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • TERMINATION_ACTION : action à effectuer lorsque Compute Engine préempte l'instance, soit STOP (par défaut), soit DELETE.

  2. Facultatif : Pour associer des disques SSD locaux, ajoutez l'indicateur --local-ssd suivant pour chaque disque SSD local.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Remplacez les éléments suivants :

    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  3. Exécutez la commande.

REST

Pour créer des instances de manière groupée, envoyez une requête POST à la méthode instances.bulkInsert.

Les paramètres que vous devez spécifier dépendent de l'option de consommation que vous utilisez pour ce déploiement. Sélectionnez l'onglet correspondant à votre option de consommation.

Réservation

Les instances N1 avec GPU T4 ou V100 sont compatibles avec les types de réservations suivants :

  • Réservations à la demande
  • Réservations futures standards

Pour utiliser ces types de réservations, une instance doit utiliser le modèle de provisionnement standard. Par exemple, utilisez les paramètres de création suivants.

Avant d'envoyer la demande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des champs supplémentaires.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance N1 avec des GPU T4 ou V100.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • AUTOMATIC_RESTART : indique si votre instance redémarre automatiquement en cas de plantage ou d'arrêt programmé par Compute Engine, par exemple lors d'un événement de maintenance. Spécifiez true pour activer le redémarrage automatique (par défaut) ou false pour le désactiver.

    • RESERVATION_AFFINITY : les réservations que l'instance est autorisée à utiliser, si possible. Spécifiez l'une des options suivantes :

      • ANY_RESERVATION (la capacité de réservation est facultative) : il s'agit de l'option par défaut. L'instance tente d'utiliser la capacité d'une réservation consommée automatiquement, ce qui ne se produit que si la capacité de réservation correspondante est disponible. Sinon, l'instance utilise une capacité à la demande.

      • SPECIFIC_RESERVATION (Capacité de réservation requise) : exige que l'instance utilise la capacité d'une réservation spécifiquement ciblée. L'instance n'est pas autorisée à utiliser la capacité à la demande. Si la capacité de réservation n'est pas disponible, la création de l'instance échoue.

    • RESERVATION : réservation à utiliser. Spécifiez l'une des valeurs suivantes en fonction de la valeur que vous avez spécifiée pour RESERVATION_AFFINITY :

      • Si vous avez spécifié ANY_RESERVATION, supprimez RESERVATION afin que la valeur soit une chaîne vide (""). Vous pouvez également supprimer entièrement les champs key et values.
      • Si vous avez spécifié SPECIFIC_RESERVATION, remplacez RESERVATION par ce qui suit :

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Remplacez les éléments suivants :

        • RESERVATION_OWNER_PROJECT_ID : ID du projet dans lequel la réservation a été créée.
        • RESERVATION_NAME : nom de la réservation.
  2. Facultatif : Pour utiliser des disques SSD locaux, ajoutez le champ suivant au champ disks[] pour chaque disque SSD local. Séparez chaque sous-champ disks[] (y compris le disque de démarrage) par une virgule.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Remplacez les éléments suivants :

    • ZONE : zone spécifiée.
    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  3. Envoyez la demande.

À la demande

Avant d'envoyer la demande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des champs supplémentaires.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance N1 avec des GPU T4 ou V100.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • AUTOMATIC_RESTART : indique si votre instance redémarre automatiquement en cas de plantage ou d'arrêt programmé par Compute Engine, par exemple lors d'un événement de maintenance. Spécifiez true pour activer le redémarrage automatique (par défaut) ou false pour le désactiver.

    • RESERVATION_AFFINITY : les réservations que l'instance est autorisée à utiliser, si possible. Spécifiez l'une des options suivantes :

      • ANY_RESERVATION (la capacité de réservation est facultative) : il s'agit de l'option par défaut. L'instance tente d'utiliser la capacité d'une réservation consommée automatiquement, ce qui ne se produit que si la capacité de réservation correspondante est disponible. Sinon, l'instance utilise une capacité à la demande.

      • NO_RESERVATION (capacité à la demande requise) : empêche l'instance d'utiliser la capacité de réservation.

  2. Facultatif : Pour utiliser des disques SSD locaux, ajoutez le champ suivant au champ disks[] pour chaque disque SSD local. Séparez chaque sous-champ disks[] (y compris le disque de démarrage) par une virgule.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Remplacez les éléments suivants :

    • ZONE : zone spécifiée.
    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  3. Envoyez la demande.

Spot

Avant d'envoyer la demande, passez en revue toutes les étapes suivantes pour déterminer si vous devez inclure des champs supplémentaires.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Procédez comme suit :

  1. Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet dans lequel vous souhaitez créer l'instance N1 avec des GPU T4 ou V100.
    • ZONE : spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez Disponibilité des GPU par région et par zone.
    • NAME_PATTERN : modèle de nom à utiliser pour les instances N1 avec GPU T4 ou V100. Par exemple, le modèle de nom instance-# génère des instances N1 avec GPU T4 ou V100 portant des noms tels que instance-1 et instance-2, jusqu'à ce qu'il atteigne le nombre d'instances N1 avec GPU T4 ou V100 spécifié par --count.
    • COUNT : nombre d'instances N1 avec GPU T4 ou V100 à créer.
    • MACHINE_TYPE : type de machine à utiliser pour l'instance N1 avec GPU T4 ou V100. Pour en savoir plus, consultez Types de machines GPU dans la documentation Compute Engine.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM N1. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez les informations sur les GPU N1 dans la documentation Compute Engine.
    • ACCELERATOR_TYPE : type d'accélérateur pour les VM N1 que vous souhaitez utiliser. Pour les charges de travail d'IA, nous vous recommandons d'utiliser des GPU T4 ou V100.
    • DISK_SIZE : taille du disque de démarrage en Go. Pour en savoir plus, consultez Limites de taille des volumes Google Cloud Hyperdisk ou Limites de taille des volumes Persistent Disk, selon le type de disque.
    • DISK_TYPE : type de disque de démarrage. Pour en savoir plus sur les types de disques compatibles avec votre type de machine, consultez Machines GPU de la famille de machines optimisées pour les accélérateurs dans la documentation Compute Engine.
    • IMAGE_PROJECT : ID du projet de l'image de l'OS.
    • IMAGE_FAMILY : famille d'images à laquelle appartient l'image de l'OS que vous souhaitez utiliser. Pour obtenir la liste de tous les systèmes d'exploitation compatibles, consultez Systèmes d'exploitation compatibles.
    • TERMINATION_ACTION : action à effectuer lorsque Compute Engine préempte l'instance, soit STOP (par défaut), soit DELETE.

  2. Facultatif : Pour utiliser des disques SSD locaux, ajoutez le champ suivant au champ disks[] pour chaque disque SSD local. Séparez chaque sous-champ disks[] (y compris le disque de démarrage) par une virgule.

    Assurez-vous que le nombre de disques SSD locaux que vous associez est autorisé pour votre type de machine. Pour en savoir plus, consultez À propos des disques SSD locaux dans la documentation Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Remplacez les éléments suivants :

    • ZONE : zone spécifiée.
    • INTERFACE_TYPE : type d'interface de disque que vous souhaitez utiliser pour le disque SSD local. Si votre image de disque de démarrage inclut des pilotes NVMe optimisés, spécifiez NVME. Spécifiez SCSI pour les autres images.

    Après avoir créé une VM avec des disques SSD locaux, vous devez formater et installer chaque périphérique pour pouvoir l'utiliser.

  3. Envoyez la demande.

Pour en savoir plus sur les options de configuration permettant de créer des VM de manière groupée, consultez Créer des VM de manière groupée dans la documentation Compute Engine.

Installer des pilotes de GPU

Une fois que vous avez créé une instance, celle-ci ne peut pas utiliser ses GPU, sauf si les pilotes de GPU appropriés sont déjà installés. Le pilote que vous devez installer dépend de l'activation ou non du poste de travail virtuel (vWS) NVIDIA RTX sur l'instance. Utilisez l'une des options suivantes :

Étapes suivantes