Ajouter ou supprimer des GPU


Compute Engine offre la possibilité d'ajouter des processeurs graphiques (GPU) aux instances de 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.

Vous ne pouvez utiliser que deux familles de machines lors de l'exécution de GPU sur Compute Engine :

  • La famille des machines optimisées pour les accélérateurs (A3, A2 et G2).
  • La famille de machines à usage général N1. Vous pouvez utiliser la plupart des types de machines N1, à l'exception du type de machine N1 à cœur partagé. Si vous n'utilisez pas de machine à usage général N1, vous pouvez passer à une machine à usage général N1, puis ajouter les GPU.

Avant de commencer

  • Pour découvrir les étapes préalables supplémentaires, telles que la sélection d'une image de l'OS et la vérification du quota de GPU, consultez le document de présentation.
  • 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.

    REST

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

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

      gcloud init

VM optimisées pour les accélérateurs

Chaque type de machine optimisé pour les accélérateurs est associé à un modèle spécifique de GPU NVIDIA.

  • Pour les types de machines optimisés pour l'accélérateur A3, les GPU NVIDIA H100 80 Go sont associés.
  • Pour les types de machines optimisés pour l'accélérateur A2, les GPU NVIDIA A100 sont associés. Elles sont disponibles dans les options A100 40 Go et A100 80 Go.
  • Pour les types de machines optimisés pour l'accélérateur G2, les GPU NVIDIA L4 sont associés.

Vous pouvez modifier chaque VM optimisée pour les accélérateurs comme suit :

  • Pour les VM standards A2, vous pouvez modifier le nombre de GPU en passant d'un type de machine standard A2 à un autre type de machine standard A2.

  • Pour les VM A3 standard et A2 Ultra, vous ne pouvez pas modifier le type de machine. Si vous utilisez un type de machine A3 standard ou A2 ultra pour votre VM et que vous devez modifier le type de machine, créez une VM.

  • Pour les VM standards G2, vous pouvez effectuer les opérations suivantes :

    • Vous pouvez modifier le nombre de GPU en passant d'un type de machine standard G2 à un autre type de machine standard G2.
    • Vous pouvez passer d'un type de machine standard G2 à un type de machine d'une autre famille de machines, par exemple à usage général ou optimisé pour le calcul. Consultez la page Modifier le type de machine.
  • Vous ne pouvez pas supprimer les GPU d'un type de machine optimisé pour les accélérateurs. Si vous n'avez plus besoin de GPU, procédez comme suit :

    • Pour les VM A2 standards ou ultra, créez une VM.
    • Pour les VM G2, passez à un type de machine d'une autre famille de machines.

Modifier le nombre de GPU

Vous pouvez modifier le nombre de GPU d'une VM standard A2 ou optimisée pour les accélérateurs G2 à l'aide de la console Google Cloud ou de REST.

Console

Vous pouvez modifier le nombre de GPU de votre VM en arrêtant la VM et en modifiant sa configuration.

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur la VM.

  2. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher votre liste de VM.

    Accéder à la page "Instances de VM"

  3. Cliquez sur le nom de la VM dont vous souhaitez modifier le nombre de GPU. La page Détails s'affiche.

  4. Procédez comme suit à partir de la page Détails.

    1. Si la VM est en cours d'exécution, cliquez sur Arrêter dans la barre d'outils. Attendez ensuite que la VM s'arrête.

    2. Dans la barre d'outils, cliquez sur Modifier.

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

      1. Dans la liste Nombre de GPU, augmentez ou diminuez le nombre de GPU.

    4. Pour appliquer vos modifications, cliquez sur Enregistrer.

    5. Pour redémarrer la VM, cliquez sur Démarrer/Reprendre.

REST

Vous pouvez modifier le nombre de GPU sur votre VM en arrêtant la VM et en modifiant le type de machine. Chaque type de machine optimisé pour les accélérateurs est associé à un nombre spécifique de GPU. Si vous modifiez le type de machine, cela ajuste le nombre de GPU associés à la VM.

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur la VM, puis créez une commande POST pour arrêter la VM afin qu'elle puisse être déplacée vers un système hôte sur lequel les GPU sont disponibles.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Une fois la VM arrêtée, créez une requête POST pour modifier le type de machine.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    
    {
       machineType: "zones/ZONE/machineTypes/MACHINE_TYPE"
    }
    
  3. Démarrez la VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • VM_NAME : nom de la VM à laquelle vous souhaitez ajouter des GPU.
  • ZONE : zone où se trouve la VM. Cette zone doit être compatible avec les GPU.
  • MACHINE_TYPE : type de machine que vous souhaitez utiliser. Il doit s'agir de l'un des éléments suivants :

    • Si votre VM utilise actuellement une machine standard A2, sélectionnez un autre type de machine A2.
    • Si votre VM utilise actuellement un type de machine G2, sélectionnez un autre type de machine G2. Les types de machines G2 sont également compatibles avec la mémoire personnalisée. La mémoire doit être un multiple de 1 024 Mo et être comprise dans la plage de mémoire compatible. Par exemple, pour créer une VM avec 4 processeurs virtuels et 19 Go de mémoire, spécifiez --machine-type=g2-custom-4-19456.

Limites

A2 standard

  • Vous ne bénéficiez pas de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexibles pour les VM qui utilisent les types de machines A2 standard.
  • Vous ne pouvez utiliser des types de machines A2 standard que dans certaines régions et zones.
  • Vous ne pouvez pas utiliser de disques persistants régionaux sur des VM utilisant des types de machines A2 standard.
  • Les types de machines A2 standard ne sont disponibles que sur la plate-forme Cascade Lake.
  • Si votre VM utilise un type de machine standard A2, vous ne pouvez passer d'un type de machine standard A2 qu'à un autre type de machine standard A2. Vous ne pouvez pas passer à un autre type de machine. Pour en savoir plus, consultez la page Modifier des VM optimisées pour les accélérateurs.
  • Vous ne pouvez pas utiliser le type de machine A2 standard a2-megagpu-16g sur les systèmes d'exploitation Windows. Lorsque vous utilisez des systèmes d'exploitation Windows, choisissez un autre type de machine A2 standard.
  • Vous ne pouvez pas effectuer un formatage rapide des disques SSD locaux associés à des VM Windows qui utilisent des types de machines standard A2. 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.
  • Les types de machines A2 standard ne sont pas compatibles avec la location unique.

A2 ultra

  • Vous ne bénéficiez pas de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexibles pour les VM qui utilisent les types de machines A2 Ultra.
  • Vous ne pouvez utiliser des types de machines A2 ultra que dans certaines régions et zones.
  • Vous ne pouvez pas utiliser de disques persistants régionaux sur des VM utilisant des types de machines A2 ultra.
  • Les types de machines A2 ultra ne sont disponibles que sur la plate-forme Cascade Lake.
  • Si votre VM utilise un type de machine A2 ultra, vous ne pouvez pas modifier le type de machine. Si vous devez utiliser un autre type de machine A2 ultra ou toute autre famille de machines, vous devez créer une VM.
  • Vous ne pouvez pas remplacer un autre type de machine par un type de machine A2 ultra. Si vous devez créer une VM utilisant un type de machine A2 ultra, vous devez créer une nouvelle VM.
  • Vous ne pouvez pas effectuer un formatage rapide des disques SSD locaux associés à des VM Windows qui utilisent des types de machines ultra A2. 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.

G2 standard

  • Vous ne bénéficiez pas de remises automatiques proportionnelles à une utilisation soutenue ni de remises sur engagement d'utilisation flexibles pour les VM qui utilisent les types de machines G2 standard.
  • Vous ne pouvez utiliser des types de machines G2 standard que dans certaines régions et zones.
  • Vous ne pouvez pas utiliser de disques persistants régionaux sur des VM utilisant des types de machines G2 standard.
  • Le type de machine G2 standard n'est disponible que sur la plate-forme Cascade Lake.
  • Les disques persistants standards (pd-standard) ne sont pas compatibles avec les VM qui utilisent des types de machines standards G2. Pour connaître les types de disques compatibles, consultez la section Types de disques compatibles pour G2.
  • Vous ne pouvez pas créer de GPU multi-instances sur des types de machines G2 standard.
  • Si vous devez modifier le type de machine d'une VM G2, consultez la page Modifier des VM optimisées pour les accélérateurs.
  • Vous ne pouvez pas utiliser de Deep Learning VM Image en tant que disque de démarrage pour vos VM utilisant des types de machines G2 standard.
  • Le pilote par défaut actuel de Container-Optimized OS n'est pas compatible avec les GPU L4 s'exécutant sur des types de machines G2. Container-Optimized OS n'accepte également qu'un ensemble sélectionné de pilotes. Si vous souhaitez utiliser Container-Optimized OS sur des types de machines G2, consultez les notes suivantes :
    • Utilisez une version de Container-Optimized OS compatible avec le pilote NVIDIA version 525.60.13 recommandée (minimum) ou ultérieure. Pour en savoir plus, consultez les notes de version de Container-Optimized OS.
    • Lorsque vous installez le pilote, spécifiez la dernière version disponible compatible avec les GPU L4. Par exemple, sudo cos-extensions install gpu -- -version=525.60.13.
  • Vous devez utiliser Google Cloud CLI ou REST pour créer des VM G2 dans les scénarios suivants :
    • Vous souhaitez spécifier des valeurs personnalisées de la mémoire.
    • Vous souhaitez personnaliser le nombre de cœurs de processeur visibles.

VM à usage général N1

Cette section explique comment ajouter, modifier ou supprimer des GPU sur une machine à usage général N1.

Pour résumer, le processus d'ajout, de modification ou de suppression de GPU d'une VM existante est le suivant :

  1. Vérifiez que votre VM dispose d'une taille de disque de démarrage d'au moins 40 Go.
  2. Arrêtez la VM.
  3. Ajoutez, modifiez ou supprimez des GPU.

    Si aucun GPU n'était associé à votre VM, vous devez effectuer les étapes suivantes :

    1. Préparez votre VM pour la modification.
    2. Modifiez le paramètre de maintenance de l'hôte pour la VM. Les VM comportant des GPU ne peuvent pas migrer à chaud car elles sont affectées à des périphériques matériels spécifiques. Pour en savoir plus, consultez la section Restrictions relatives aux GPU.
    3. Modifiez le type de machine. Les GPU ne sont compatibles qu'avec certains types de machines.
    4. Installez un pilote de GPU sur votre VM pour que votre système puisse utiliser l'appareil.

Préparer votre VM

Lorsqu'un GPU est ajouté à une VM, l'ordre de l'interface réseau peut changer.

La plupart des images publiques sur Compute Engine ne possèdent pas de nom d'interface réseau persistant et s'adaptent au nouvel ordre.

Toutefois, si vous utilisez SLES ou une image personnalisée, vous devez mettre à jour le paramètre système pour empêcher la persistance de l'interface réseau. Pour empêcher la persistance de l'interface réseau, exécutez la commande suivante sur votre VM :

 rm /etc/udev/rules.d/70-persistent-net.rules 

Ajouter des GPU ou modifier le type de GPU sur des VM existantes

Cette section explique comment ajouter des GPU ou modifier le type de GPU sur des VM à usage général N1 existantes. Cette procédure accepte les 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. Consultez la page Fin de vie de NVIDIA K80.

Poste de travail virtuel NVIDIA RTX (vWS) (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 (vWS) est automatiquement ajoutée à votre VM.

Console

Pour ajouter des GPU ou modifier le type de GPU, procédez comme suit :

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur la VM.

  2. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher votre liste de VM.

    Accéder à la page "Instances de VM"

  3. Cliquez sur le nom de la VM que vous souhaitez mettre à jour. La page Détails s'affiche.

  4. Procédez comme suit à partir de la page Détails.

    1. Si la VM est en cours d'exécution, cliquez sur Arrêter dans la barre d'outils. Attendez ensuite que la VM s'arrête.

    2. Dans la barre d'outils, cliquez sur Modifier.

    3. 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 ou basculez sur l'un des types de GPU compatibles avec les VM N1.

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

      3. Si votre modèle de GPU est compatible avec les postes de travail virtuels NVIDIA RTX (vWS) pour les charges de travail graphiques et que vous prévoyez d'exécuter des charges de travail graphiques lourdes sur la VM, sélectionnez l'option Activer le poste de travail virtuel (NVIDIA GRID).

    4. Si aucun GPU n'était associé à votre VM, procédez comme suit :

      1. Si l'instance dispose d'un type de machine à cœur partagé, vous devez modifier ce type de machine. Dans la liste Type de machine, sélectionnez l'un des types de machines N1 prédéfinis. Vous pouvez également spécifier des paramètres personnalisés de type de machine.

      2. Dans la section Gestion, procédez comme suit :

        1. Dans la liste Pendant la maintenance de l'hôte, sélectionnez Arrêter l'instance de VM. Les VM auxquelles sont associés des GPU ne peuvent pas migrer à chaud. Consultez la section Gérer les événements de l'hôte GPU.

        2. Dans la liste Redémarrage automatique, sélectionnez Désactivé.

    5. Pour appliquer vos modifications, cliquez sur Enregistrer.

    6. Pour redémarrer la VM, cliquez sur Démarrer/Reprendre.

REST

Vous pouvez ajouter ou modifier des GPU sur votre VM en arrêtant la VM et en modifiant sa configuration via l'API.

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur la VM, puis créez une commande POST pour arrêter la VM afin qu'elle puisse être déplacée vers un système hôte sur lequel les GPU sont disponibles.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Si votre VM n'avait pas de GPU associés auparavant, procédez comme suit :

    1. Identifiez le type de GPU que vous souhaitez ajouter à votre VM. Vous pouvez envoyer une requête GET pour répertorier les types de GPU disponibles pour votre projet dans une zone spécifique.

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
      
    2. Si l'instance dispose d'un type de machine à cœur partagé, vous devez modifier le type de machine pour avoir un ou plusieurs processeurs virtuels. Vous ne pouvez pas ajouter d'accélérateurs à des VM avec des types de machines à cœur partagé.

    3. Créez une commande POST pour définir les options de planification de la VM.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. Créez une requête POST pour ajouter ou modifier les GPU associés à votre VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineResources
    
        {
         "guestAccelerators": [
          {
            "acceleratorCount": ACCELERATOR_COUNT,
            "acceleratorType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
          }
         ]
        }
    
  4. Démarrez la VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet.
    • VM_NAME : nom de la VM à laquelle vous souhaitez ajouter des GPU.
    • ZONE : zone où se trouve la VM.
    • ACCELERATOR_COUNT : nombre de GPU que vous souhaitez associer à votre VM. Pour obtenir la liste des limites de GPU en fonction du type de machine de votre VM, consultez la section GPU sur Compute Engine.
    • ACCELERATOR_TYPE : modèle de GPU que vous souhaitez associer ou sur lequel vous souhaitez basculer. 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. Consultez la page Fin de vie de NVIDIA K80.
      • Poste de travail virtuel NVIDIA RTX (vWS) (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 (vWS) est automatiquement ajoutée à votre VM.

Installer les pilotes

Pour installer les pilotes, choisissez l'une des options suivantes :

Supprimer des GPU

Cette section explique comment supprimer les types de GPU suivants d'une VM à usage général N1 existante.

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. Consultez la page Fin de vie de NVIDIA K80.

Poste de travail virtuel NVIDIA RTX (vWS) (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 (vWS) est automatiquement ajoutée à votre VM.

Vous pouvez utiliser la console Google Cloud pour supprimer des GPU d'une VM existante. Pour supprimer des GPU, procédez comme suit :

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur la VM.

  2. Dans la console Google Cloud, accédez à la page Instances de VM pour afficher votre liste de VM.

    Accéder à la page "Instances de VM"

  3. Cliquez sur le nom de la VM dont vous souhaitez supprimer les GPU. La page Détails s'affiche.

  4. Procédez comme suit à partir de la page Détails.

    1. Si la VM est en cours d'exécution, cliquez sur Arrêter dans la barre d'outils. Attendez ensuite que la VM s'arrête.

    2. Dans la barre d'outils, cliquez sur Modifier.

    3. Dans la section Configuration de la machine, sélectionnez la famille de machines Usage général, puis procédez comme suit :

      1. Pour afficher les GPU associés, développez Configurations avancées.

      2. Dans la section GPU, supprimez des GPU en utilisant l'une des options suivantes :

        • Pour supprimer certains GPU, sélectionnez un nouveau nombre dans la liste Nombre de GPU.

        • Pour supprimer tous les GPU, cliquez sur Supprimer les GPU.

    4. Facultatif : Modifiez le paramètre de stratégie de maintenance de l'hôte de la VM. La stratégie de maintenance d'hôte des VM comportant des GPU doit être définie sur Arrêter l'instance de VM. Toutefois, si vous avez supprimé tous les GPU, vous avez la possibilité de migrer cette VM à chaud pendant la maintenance de l'hôte. Pour en savoir plus, consultez la section Définir les règles de maintenance d'hôte de VM.

    5. Pour appliquer vos modifications, cliquez sur Enregistrer.

    6. Pour redémarrer la VM, cliquez sur Démarrer/Reprendre.

Étape suivante