Créer une VM avec des GPU associés

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Compute Engine offre la possibilité d'ajouter des processeurs graphiques (GPU) aux machines virtuelles (VM). Vous pouvez utiliser ces GPU pour accélérer des charges de travail spécifiques sur vos VM, telles que le machine learning et le traitement des données.

Cette page explique comment créer une VM avec des GPU associés. Si vous souhaitez ajouter des GPU aux VM existantes, consultez la page Ajouter ou supprimer des GPU.

Pour plus d'informations sur ce que vous pouvez faire avec les GPU et sur les types de matériel GPU disponibles, consultez la page Plates-formes de GPU.

Avant de commencer

  • Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, procédez comme suit :
    1. Installez la dernière version de Google Cloud CLI ou appliquez la mise à jour correspondante.
    2. Définissez une région et une zone par défaut.
  • Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
  • Consultez la page sur la tarification des GPU dans Compute Engine pour mieux comprendre le coût d'utilisation des GPU sur vos VM.
  • Consultez la section sur les restrictions imposées aux VM comportant des GPU.
  • Vérifiez votre quota de GPU.
  • Choisissez une image de système d'exploitation :
    • Si vous exploitez des GPU pour le machine learning, vous pouvez utiliser une instance Deep Learning VM Image pour votre VM. Les instances Deep Learning VM Image ont des pilotes de GPU pré-installés et incluent des packages tels que TensorFlow et PyTorch. Vous pouvez également utiliser les images de VM de deep learning pour les charges de travail générales des GPU. Pour en savoir plus sur les images disponibles et les packages installés sur les images, consultez la page Choisir une image.
    • Vous pouvez également utiliser n'importe quelle image publique ou image personnalisée, mais certaines images peuvent nécessiter un pilote ou un processus d'installation spécifique non traité dans ce document. Vous devez identifier les pilotes appropriés pour vos images. Pour connaître les étapes d'installation des pilotes, consultez la section concernant l'installation des pilotes de GPU.

Vérifier le quota de GPU

Pour protéger les systèmes et les utilisateurs de Compute Engine, les nouveaux projets bénéficient d'un quota global de GPU, ce qui limite le nombre total de GPU que vous pouvez créer dans les zones disponibles.

Exécutez la commande regions describe pour vous assurer que vous disposez d'un quota de GPU suffisant dans la région où vous souhaitez créer des VM avec les GPU.

gcloud compute regions describe REGION

Remplacez REGION par la région pour laquelle vous souhaitez vérifier le quota de GPU.

Si vous avez besoin d'un quota de GPU supplémentaire, demandez une augmentation de quota. Lorsque vous demandez un quota de GPU, vous devez demander un quota pour les modèles de GPU que vous souhaitez créer dans chaque région, mais également un quota mondial supplémentaire pour le nombre total de GPU de tout type dans toutes les zones.

Si votre projet a un historique de facturation établi, il recevra automatiquement un quota après l'envoi de la demande.

Limites

Les limites suivantes s'appliquent aux VM Windows auxquelles sont associés des GPU (A100) :

  • Les types de machines a2-megagpu-16g ne sont pas compatibles avec le système d'exploitation Windows. Si vous utilisez un système d'exploitation Windows, choisissez un autre type de machine. Pour obtenir la liste des types de machines, consultez la section GPU NVIDIA® A100.
  • Pour les VM Windows utilisant des types de machines A2, vous ne pouvez pas effectuer un formatage rapide des disques SSD locaux associés. Pour formater ces disques SSD locaux, vous devez effectuer un formatage complet en utilisant l'utilitaire diskpart et en spécifiant format fs=ntfs label=tmpfs.

Créer des VM avec des GPU associés

Pour créer une VM avec des GPU associés, procédez comme suit :

  1. Créez la VM. La méthode utilisée pour créer une VM dépend du modèle de GPU.

  2. Installez le pilote de GPU sur votre VM pour que celle-ci puisse utiliser le GPU.

  3. Si vous avez activé un poste de travail virtuel NVIDIA RTX (anciennement appelé NVIDIA GRID), installez un pilote pour le poste de travail virtuel.

Créer une VM avec des GPU associés (GPU A100)

Cette section explique comment créer des VM auxquelles sont associés des GPU NVIDIA A100. Pour les autres types de GPU, consultez la section Créer une VM avec des GPU associés (autres types de GPU).

Si vous créez des VM Windows avec des GPU, consultez les limitations décrites dans le présent document.

Console

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Spécifiez un nom pour votre VM. Consultez la convention d'attribution de noms des ressources.

  3. Sélectionnez une région et une zone dans lesquelles les GPU sont disponibles. Consultez la liste des zones où le GPU A100 est disponible.

  4. Dans la section Configuration de la machine, sélectionnez la famille de machines GPU, puis procédez comme suit :

    1. Dans la liste Type de GPU, sélectionnez NVIDIA Tesla A100 ou nvidia-a100-80gb. La série du type de machine est définie en fonction du type de GPU.

      Lorsque vous sélectionnez l'une des options de GPU A100, laSeries (Série) du type de machine est défini sur :A2 et le type de machine est défini surType de machine A2.

    2. Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.

  5. Dans la section Disque de démarrage, cliquez sur Modifier. La page Configuration du disque de démarrage s'ouvre.

  6. Sur la page Configuration du disque de démarrage, procédez comme suit :

    1. Dans l'onglet Images publiques, choisissez une image Compute Engine acceptée ou une instance Deep Learning VM Image.
    2. Spécifiez une taille de disque de démarrage d'au moins 40 Go.
    3. Cliquez sur Enregistrer pour confirmer vos options de disque de démarrage.
  7. Configurez tous les autres paramètres de VM dont vous avez besoin. Par exemple, vous pouvez modifier les paramètres de préemption pour configurer votre VM en tant qu'instance préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des instances préemptives.

  8. Pour créer et démarrer la VM, cliquez sur Créer.

gcloud

Pour créer et démarrer une VM, exécutez la commande gcloud compute instances create avec les options suivantes. Les VM comportant des GPU ne peuvent pas migrer à chaud. Veillez à définir l'option --maintenance-policy TERMINATE.

--preemptible est une option facultative qui configure votre VM en tant qu'instance préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des instances préemptives.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM.
  • MACHINE_TYPE : type de machine A2 que vous avez sélectionné pour la VM.
  • ZONE : zone de la VM. Cette zone doit être compatible avec les GPU A100.
  • DISK_SIZE : taille de votre disque de démarrage en Go Spécifiez une taille de disque de démarrage d'au moins 40 Go.
  • IMAGE ou IMAGE_FAMILY compatibles avec les GPU. Spécifiez l'une des options suivantes :

    • IMAGE : version requise d'une image publique. Exemple :--image debian-10-buster-v20200309
    • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez --image-family debian-10, Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.

    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.

  • IMAGE_PROJECT : projet d'image Compute Engine auquel la famille d'images appartient. Si vous utilisez une image personnalisée ou une instance Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.

API

Dans l'API, envoyez une requête POST à la méthode instances.insert. Les VM comportant des GPU ne peuvent pas migrer à chaud. Veillez à définir le paramètre onHostMaintenance sur TERMINATE.

"preemptible": true est un paramètre facultatif qui permet de configurer votre VM en tant qu'instance préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des instances préemptives.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Remplacez l'élément suivant :

  • VM_NAME : Nom de la VM.
  • PROJECT_ID : ID de votre projet.
  • ZONE : zone de la VM. Cette zone doit être compatible avec les GPU A100.
  • MACHINE_TYPE : type de machine A2 que vous avez sélectionné pour la VM.
  • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :

    • IMAGE : version requise d'une image publique. Exemple : "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.

    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.

  • IMAGE_PROJECT : projet d'image Compute Engine auquel la famille d'images appartient. Si vous utilisez une image personnalisée ou une VM Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.

  • DISK_SIZE : taille de votre disque de démarrage en Go Spécifiez une taille de disque de démarrage d'au moins 40 Go.

  • NETWORK : réseau VPC que vous souhaitez utiliser pour la VM. Vous pouvez spécifier default pour utiliser votre réseau par défaut.

Étape suivante : Installez le pilote de GPU sur votre VM pour que votre système puisse utiliser l'appareil. Pour les GPU A100, CUDA 11 est requis.

Exemples (GPU A100)

Dans ces exemples, les VM sont créées avec des GPU NVIDIA A100 à l'aide de Google Cloud CLI. Toutefois, vous pouvez également utiliser la console Google Cloud ou l'API Compute Engine pour créer ces VM.

Les exemples suivants montrent comment créer des VM à l'aide des images suivantes :

Image DLVM

L'utilisation d'images DLVM est le moyen le plus simple de commencer, car les pilotes NVIDIA et les bibliothèques CUDA sont déjà préinstallés sur ces images.

Ces images fournissent également des optimisations des performances.

Les images DLVM suivantes sont compatibles avec les GPU NVIDIA A100 :

  • common-cu110 : pilote NVIDIA et CUDA préinstallé
  • tf-ent-1-15-cu110 : pilote NVIDIA, CUDA, TensorFlow Enterprise 1.15.3 préinstallé
  • tf2-ent-2-1-cu110 : pilote NVIDIA, CUDA, TensorFlow Enterprise 2.1.1 préinstallé
  • tf2-ent-2-3-cu110 : pilote NVIDIA, CUDA, TensorFlow Enterprise 2.3.1 préinstallé
  • pytorch-1-6-cu110 : pilote NVIDIA, CUDA, PyTorch 1.6

Pour en savoir plus sur les images DLVM disponibles et les packages installés sur les images, consultez la documentation consacrée aux VM de deep learning.

  1. Créez une VM à l'aide de l'image tf2-ent-2-3-cu110 et du type de machine a2-highgpu-1g. Dans cet exemple, des options facultatives, telles que la taille du disque de démarrage et le champ d'application, sont spécifiées.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-c \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family tf2-ent-2-3-cu110 \
       --image-project deeplearning-platform-release \
       --boot-disk-size 200GB \
       --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \
       --scopes https://www.googleapis.com/auth/cloud-platform
    

    Remplacez l'élément suivant :

    • VM_NAME : nom de votre VM.
    • PROJECT_ID : ID de votre projet.
  2. L'exemple de commande précédent génère également un notebook AI Platform Notebooks pour la VM. Pour accéder au notebook, accédez à la page AI Platform dans la console Google Cloud.

    Accéder à la page AI Platform

Image publique ou personnalisée

Vous pouvez créer des VM avec des GPU associés qui utilisent une image publique disponible sur Compute Engine ou une image personnalisée.

Pour créer une VM à l'aide de l'image la plus récente et non obsolète de la famille d'images CentOS 7 et du type de machine a2-highgpu-1g, procédez comme suit :

  1. Créez la VM. Dans cet exemple, des options facultatives, telles que le type et la taille du disque de démarrage, sont également spécifiées.

    gcloud compute instances create VM_NAME \
        --project PROJECT_ID \
        --zone us-central1-c \
        --machine-type a2-highgpu-1g \
        --maintenance-policy TERMINATE --restart-on-failure \
        --image-family centos-7 \
        --image-project centos-cloud \
        --boot-disk-size 200GB \
        --boot-disk-type pd-ssd
    

    Remplacez l'élément suivant :

    • VM_NAME : nom de votre VM.
    • PROJECT_ID : ID de votre projet.
  2. Installez le pilote NVIDIA et CUDA. Pour les GPU NVIDIA A100, la version 11 (ou une version ultérieure) de CUDA est requise.

COS

Vous pouvez créer des VM avec des GPU associés qui utilisent des images optimisées pour les conteneurs (COS).

Pour créer une VM à l'aide de l'image cos-85-lts et du type de machine a2-highgpu-1g, procédez comme suit depuis votre client local : Les exemples suivants peuvent être exécutés sur un client Mac ou Linux :

  1. S'il n'existe pas déjà, créez un répertoire /tmp.

    mkdir /tmp
  2. Ajoutez un fichier de configuration /cloud-init.yaml au répertoire /tmp.

    Ces informations sont requises pour configurer votre VM optimisée pour les conteneurs et installent également le pilote NVIDIA et CUDA au démarrage de la VM.

    cat <<'EOF' > /tmp/cloud-init.yaml
    #cloud-config
    
    write_files:
      - path: /etc/systemd/system/cos-gpu-installer.service
        permissions: 0755
        owner: root
        content: |
          [Unit]
          Description=Run the GPU driver installer container
          Requires=network-online.target gcr-online.target
          After=network-online.target gcr-online.target
    
          [Service]
          User=root
          Type=oneshot
          RemainAfterExit=true
          Environment=INSTALL_DIR=/var/lib/nvidia
          ExecStartPre=/bin/mkdir -p ${INSTALL_DIR}
          ExecStartPre=/bin/mount --bind ${INSTALL_DIR} ${INSTALL_DIR}
          ExecStartPre=/bin/mount -o remount,exec ${INSTALL_DIR}
          ExecStart=/usr/bin/docker run --privileged \
                                        --net=host  \
                                        --pid=host \
                                        --volume ${INSTALL_DIR}:/usr/local/nvidia \
                                        --volume /dev:/dev \
                                        --volume /:/root \
                                        --env NVIDIA_DRIVER_VERSION=450.80.02 \
                                        gcr.io/cos-cloud/cos-gpu-installer:v20200701
          StandardOutput=journal+console
          StandardError=journal+console
    
    runcmd:
      - systemctl daemon-reload
      - systemctl enable cos-gpu-installer.service
      - systemctl start cos-gpu-installer.service
    
    EOF
    
  3. Créez une VM optimisée pour les conteneurs à l'aide de la famille d'images cos-85-lts et du type de machine a2-highgpu-1g.

    Vous devez fournir le fichier de configuration à l'aide de l'option -metadata-from-file user-data.

    Dans cet exemple, l'option facultative sur la taille du disque de démarrage est également spécifiée.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-a \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family cos-85-lts \
       --image-project cos-cloud \
       --boot-disk-size 200GB \
       --metadata-from-file user-data=/tmp/cloud-init.yaml
    

    Remplacez l'élément suivant :

    • VM_NAME : nom de votre VM.
    • PROJECT_ID : ID de votre projet.

    Connectez-vous à la VM une fois celle-ci créée et exécutez la commande suivante pour vérifier que le pilote NVIDIA est installé.

    /var/lib/nvidia/bin/nvidia-smi

    L'installation du pilote prend environ cinq minutes.

GPU multi-instances (A100)

Un GPU multi-instance partitionne un seul GPU NVIDIA A100 dans la même VM en sept instances GPU indépendantes. Elles s'exécutent simultanément, chacune avec sa propre mémoire, le cache et ses multiprocesseurs de diffusion. Cette configuration permet au GPU A100 de fournir un service de qualité de service (QoS) garanti jusqu'à sept fois supérieur à l'utilisation par rapport aux modèles de GPU précédents. Avec les GPU A100 de 40 Go, chaque instance de GPU multi-instance peut être allouée jusqu'à 5 Go de mémoire. Avec la capacité de mémoire accrue du GPU A100 de 80 Go, cette taille peut être doublée pour atteindre 10 Go.

Pour en savoir plus sur l'utilisation des GPU multi-instances, consultez le guide de l'utilisateur sur les GPU multi-instances NVIDIA.

Pour créer des GPU multi-instances, procédez comme suit :

  1. Créez une VM avec des GPU A100 associés.

  2. Activez les pilotes de GPU NVIDIA.

  3. Activez les GPU multi-instances et redémarrez la VM.

    sudo nvidia-smi -mig 1
    sudo reboot
    
  4. Examinez les formes de GPU multi-instances disponibles.

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    Le résultat ressemble à ce qui suit :

    +--------------------------------------------------------------------------+
    | GPU instance profiles:                                                   |
    | GPU   Name          ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                           Free/Total   GiB              CE    JPEG  OFA  |
    |==========================================================================|
    |   0  MIG 1g.5gb     19     7/7        4.75       No     14     0     0   |
    |                                                          1     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 2g.10gb    14     3/3        9.75       No     28     1     0   |
    |                                                          2     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 3g.20gb     9     2/2        19.62      No     42     2     0   |
    |                                                          3     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 4g.20gb     5     1/1        19.62      No     56     2     0   |
    |                                                          4     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 7g.40gb     0     1/1        39.50      No     98     5     0   |
    |                                                          7     1     1   |
    +--------------------------------------------------------------------------+
    
  5. Créez le GPU multi-instance (GI) et les instances de calcul associées (CI) de votre choix. Vous pouvez créer ces instances en spécifiant le nom de profil complet ou abrégé, l'ID de profil ou une combinaison des deux. Pour en savoir plus, consultez la page Créer des instances de GPU.

    L'exemple suivant crée deux instances de GPU MIG 3g.20gb à l'aide d'une combinaison du nom de profil abrégé (3g.20gb) et de l'ID de profil (9).

    L'option -C est également spécifiée, elle sert à créer les instances de calcul associées au profil requis.

    sudo nvidia-smi mig -cgi 9,3g.20gb -C
    

    Le résultat ressemble à ce qui suit :

    Successfully created GPU instance ID  2 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  2 using profile MIG 3g.20gb (ID  2)
    Successfully created GPU instance ID  1 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  1 using profile MIG 3g.20gb (ID  2)
    
  6. Vérifiez que les deux GPU multi-instances sont créés :

    sudo nvidia-smi mig -lgi
    

    Le résultat ressemble à ce qui suit :

    +----------------------------------------------------+
    | GPU instances:                                     |
    | GPU   Name          Profile  Instance   Placement  |
    |                       ID       ID       Start:Size |
    |====================================================|
    |   0  MIG 3g.20gb       9        1          0:4     |
    +----------------------------------------------------+
    |   0  MIG 3g.20gb       9        2          4:4     |
    +----------------------------------------------------+
    
  7. Vérifiez que les GI et les CI correspondants sont créés.

    sudo nvidia-smi
    

    Le résultat ressemble à ce qui suit :

    Tue May 18 18:32:22 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  A100-SXM4-40GB      Off  | 00000000:00:04.0 Off |                   On |
    | N/A   43C    P0    52W / 350W |     22MiB / 40537MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Créer une VM avec des GPU associés (autres types de GPU)

Cette section explique comment créer des VM à l'aide des types de GPU suivants.

GPU NVIDIA :

  • NVIDIA T4 : nvidia-tesla-t4
  • NVIDIA P4 : nvidia-tesla-p4
  • NVIDIA P100 : nvidia-tesla-p100
  • NVIDIA V100 : nvidia-tesla-v100
  • NVIDIA K80 : nvidia-tesla-k80

GPU de poste de travail virtuel NVIDIA RTX (anciennement NVIDIA GRID) :

  • Poste de travail virtuel NVIDIA T4 : nvidia-tesla-t4-vws
  • Poste de travail virtuel NVIDIA P4 : nvidia-tesla-p4-vws
  • Poste de travail virtuel NVIDIA P100 : nvidia-tesla-p100-vws

    Pour ces postes de travail virtuels, une licence de poste de travail virtuel NVIDIA RTX est automatiquement ajoutée à votre VM.

Console

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Spécifiez un nom pour votre VM. Pour en savoir plus, consultez Recommandation pour l'attribution de noms aux ressources.

  3. Sélectionnez une région et une zone compatibles avec le modèle de GPU.

    Pour en savoir plus sur la compatibilité des modèles de GPU avec les différentes régions et zones, consultez la page Disponibilité des GPU dans les régions et zones.

  4. Dans la section Configuration de la machine, procédez comme suit :

    1. Dans Série, sélectionnez N1.
    2. Dans Type de machine, sélectionnez un type de machine N1. Vous pouvez également spécifier des paramètres personnalisés de type de machine.
    3. Développez la section Plate-forme du processeur et GPU.

      1. Cliquez sur Ajouter un GPU.
      2. Spécifiez le type de GPU et le nombre de GPU.
      3. Si votre modèle de GPU est compatible avec les postes de travail virtuels et que vous prévoyez d'exécuter des charges de travail graphiques lourdes sur la VM, sélectionnez l'option Enable Virtual Workstation (NVIDIA GRID) (Activer le poste de travail virtuel (NVIDIA GRID).

        Pour en savoir plus sur les postes de travail virtuels NVIDIA RTX, consultez la section sur les postes de travail virtuels NVIDIA RTX pour les charges de travail graphiques (anciennement NVIDIA GRID).

  5. Pour sélectionner votre système d'exploitation, dans la section Disque de démarrage, cliquez sur Modifier. La page Configuration du disque de démarrage s'ouvre.

  6. Sur la page Configuration du disque de démarrage, procédez comme suit :

    1. Dans l'onglet Images publiques, choisissez une image Compute Engine acceptée ou une instance Deep Learning VM Image.
    2. Spécifiez une taille de disque de démarrage d'au moins 40 Go.
    3. Cliquez sur Enregistrer pour confirmer vos options de disque de démarrage.
  7. Configurez les autres paramètres de VM dont vous avez besoin. Par exemple, vous pouvez modifier les paramètres de préemption pour configurer votre VM en tant que VM préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des VM préemptives.

  8. Pour créer et démarrer la VM, cliquez sur Créer.

gcloud

Pour créer et démarrer une VM, exécutez la commande gcloud compute instances create avec les options suivantes.

--preemptible est une option facultative qui configure votre VM en tant qu'instance préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des instances préemptives.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Remplacez l'élément suivant :

  • VM_NAME : nom de la nouvelle VM.
  • MACHINE_TYPE : type de machine que vous avez sélectionné pour la VM.
  • ZONE : zone de la VM. Cette zone doit être compatible avec le type de GPU.
  • DISK_SIZE : taille de votre disque de démarrage en Go Spécifiez une taille de disque de démarrage d'au moins 40 Go.
  • IMAGE ou IMAGE_FAMILY compatibles avec les GPU. Spécifiez l'une des options suivantes :

    • IMAGE : version requise d'une image publique. Exemple :--image debian-10-buster-v20200309
    • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez --image-family debian-10, Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.

    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.

  • IMAGE_PROJECT : projet d'image Compute Engine auquel la famille d'images appartient. Si vous utilisez une image personnalisée ou une VM Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.

  • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez ajouter à la VM. Consultez la page GPU sur Compute Engine pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM.

  • ACCELERATOR_TYPE : modèle de GPU que vous souhaitez utiliser. Si vous prévoyez d'exécuter des charges de travail graphiques lourdes sur la VM, utilisez l'un des modèles de postes de travail virtuels.

    Choisissez l'une des valeurs suivantes :

    • GPU NVIDIA :

      • NVIDIA T4 : nvidia-tesla-t4
      • NVIDIA P4 : nvidia-tesla-p4
      • NVIDIA P100 : nvidia-tesla-p100
      • NVIDIA V100 : nvidia-tesla-v100
      • NVIDIA K80 : nvidia-tesla-k80
    • GPU de poste de travail virtuel NVIDIA RTX (anciennement NVIDIA GRID) :

      • Poste de travail virtuel NVIDIA T4 : nvidia-tesla-t4-vws
      • Poste de travail virtuel NVIDIA P4 : nvidia-tesla-p4-vws
      • Poste de travail virtuel NVIDIA P100 : nvidia-tesla-p100-vws

        Pour ces postes de travail virtuels, une licence de poste de travail virtuel NVIDIA RTX est automatiquement ajoutée à votre VM.

Exemple

Par exemple, vous pouvez exécuter la commande gcloud suivante pour démarrer une VM Ubuntu 16.04 avec un GPU NVIDIA K80 et deux processeurs virtuels dans la zone us-east1-d.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --boot-disk-size 40GB \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure

API

Identifiez le type de GPU que vous souhaitez ajouter à votre VM. Soumettez une demande GET pour répertorier les types de GPU disponibles pour votre projet dans une zone spécifique.

"preemptible": true est un paramètre facultatif qui permet de configurer votre VM en tant qu'instance préemptive. Cela réduit le coût de votre VM et des GPU utilisés. Pour en savoir plus, consultez la section GPU sur des instances préemptives.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet
  • ZONE : zone dans laquelle vous souhaitez répertorier les types de GPU disponibles.

Dans l'API, envoyez une requête POST à la méthode instances.insert. Incluez le paramètre acceleratorType pour spécifier le type de GPU que vous souhaitez utiliser et incluez le paramètre acceleratorCount pour spécifier le nombre de GPU à ajouter. Définissez également le paramètre onHostMaintenance sur TERMINATE.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": ACCELERATOR_COUNT,
      "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Remplacez l'élément suivant :

  • VM_NAME : Nom de la VM.
  • PROJECT_ID : ID de votre projet.
  • ZONE : zone de la VM. Cette zone doit être compatible avec le type de GPU.
  • MACHINE_TYPE : type de machine que vous avez sélectionné pour l'instance. Consultez la section GPU sur Compute Engine pour connaître les types de machines disponibles en fonction du nombre de GPU souhaité.
  • IMAGE ou IMAGE_FAMILY : spécifiez l'un des éléments suivants :

    • IMAGE : version requise d'une image publique. Exemple : "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY : famille d'images. Cette action crée la VM à partir de l'image de l'OS la plus récente et non obsolète. Par exemple, si vous spécifiez "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crée une VM à partir de la dernière version de l'image de l'OS dans la famille d'images Debian 10.

    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.

  • IMAGE_PROJECT : projet d'image Compute Engine auquel la famille d'images appartient. Si vous utilisez une image personnalisée ou une VM Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.

  • DISK_SIZE : taille de votre disque de démarrage en Go Spécifiez une taille de disque de démarrage d'au moins 40 Go.

  • NETWORK : réseau VPC que vous souhaitez utiliser pour la VM. Vous pouvez spécifier default pour utiliser votre réseau par défaut.

  • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez ajouter à la VM. Consultez la page GPU sur Compute Engine pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM.

  • ACCELERATOR_TYPE : modèle de GPU que vous souhaitez utiliser. Si vous prévoyez d'exécuter des charges de travail graphiques lourdes sur la VM, utilisez l'un des modèles de postes de travail virtuels.

    Choisissez l'une des valeurs suivantes :

    • GPU NVIDIA :

      • NVIDIA T4 : nvidia-tesla-t4
      • NVIDIA P4 : nvidia-tesla-p4
      • NVIDIA P100 : nvidia-tesla-p100
      • NVIDIA V100 : nvidia-tesla-v100
      • NVIDIA K80 : nvidia-tesla-k80
    • GPU de poste de travail virtuel NVIDIA RTX (anciennement NVIDIA GRID) :

      • Poste de travail virtuel NVIDIA T4 : nvidia-tesla-t4-vws
      • Poste de travail virtuel NVIDIA P4 : nvidia-tesla-p4-vws
      • Poste de travail virtuel NVIDIA P100 : nvidia-tesla-p100-vws

        Pour ces postes de travail virtuels, une licence de poste de travail virtuel NVIDIA RTX est automatiquement ajoutée à votre VM.

Étape suivante : Pour vous assurer que votre système peut utiliser les GPU, procédez comme suit :

Étape suivante