Créer une VM optimisée pour les accélérateurs


Ce document explique comment créer une VM qui utilise une famille de machines optimisées pour les accélérateurs. La famille de machines optimisées pour les accélérateurs est disponible dans les types de machines A3, A2 et G2.

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

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 en sélectionnant l'une des options suivantes:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      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, 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 la page 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. 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 :

  • 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 attribuer un ancien réseau à la VM : compute.networks.use sur le projet
  • 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 ancien réseau : compute.networks.useExternalIp sur le projet
  • Pour spécifier un sous-réseau pour la VM : compute.subnetworks.use sur le projet ou sur le sous-réseau choisi
  • 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 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 libellés pour la VM : compute.instances.setLabels sur la VM
  • Pour définir un compte de service à utiliser avec 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.

Créer une VM à laquelle sont associés des GPU

Vous pouvez créer une VM optimisée pour les accélérateurs A3, A2 ou G2 à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.

Pour personnaliser vos VM G2, vous devrez peut-être utiliser Google Cloud CLI ou REST. Consultez la section Limites de G2.

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 régions et zones où les GPU sont disponibles.

  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 le type de GPU.

      • Pour les VM optimisées pour les accélérateurs A3, sélectionnez NVIDIA H100 80GB ou NVIDIA H100 80GB MEGA.
      • Pour les VM optimisées pour les accélérateurs A2, sélectionnez NVIDIA A100 40GB ou NVIDIA A100 80GB.
      • Pour les VM optimisées pour les accélérateurs G2, sélectionnez NVIDIA L4.
    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 Poste de travail virtuel (NVIDIA GRID).

  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 Sélectionner pour confirmer vos options de disque de démarrage.
  7. Facultatif : Configurez le modèle de provisionnement. Par exemple, si votre charge de travail est tolérante aux pannes et peut résister à une éventuelle préemption de VM, envisagez d'utiliser des VM Spot pour réduire le coût de vos VM et des GPU associés. Pour en savoir plus, consultez GPU sur des VM Spot. Pour ce faire, procédez comme suit :

    1. Dans la section Règles de disponibilité, sélectionnez Spot dans la liste Modèle de provisionnement de VM. Ce paramètre désactive les options de redémarrage automatique et de maintenance de l'hôte pour la VM.
    2. Facultatif : dans la liste À l'arrêt de la VM, sélectionnez ce qui se passe lorsque Compute Engine préempte la VM :
      • Pour arrêter la VM pendant la préemption, sélectionnez Arrêter (sélection par défaut).
      • Pour supprimer la VM pendant la préemption, sélectionnez Supprimer.
  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.

Les options facultatives suivantes sont affichées dans l'exemple de commande :

  • L'option --provisioning-model=SPOT, qui configure vos VM en tant que VM Spot. Si votre charge de travail est tolérante aux pannes et peut résister à une éventuelle préemption de VM, envisagez d'utiliser des VM Spot pour réduire le coût de vos VM et des GPU associés. Pour en savoir plus, consultez GPU sur des VM Spot. Pour les VM Spot, les options de redémarrage automatique et de maintenance de l'hôte sont désactivées.
  • L'option --accelerator pour spécifier un poste de travail virtuel. Les postes de travail virtuels (vWS) NVIDIA RTX ne sont compatibles qu'avec les VM G2.
  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      [--provisioning-model=SPOT] \
      [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
  
Remplacez les éléments suivants :
  • VM_NAME : nom de la nouvelle VM.
  • MACHINE_TYPE : type de machine que vous avez sélectionné. Sélectionnez l'une des options suivantes :
    • Un type de machine A3.
    • Un type de machine A2.
    • Un 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.
  • ZONE : zone de la VM. Cette zone doit être compatible avec le modèle de GPU sélectionné.
  • 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 : image de système d'exploitation compatible avec les GPU. Si vous souhaitez utiliser l'image la plus récente dans une famille d'images, remplacez l'option --image par l'option --image-family et définissez sa valeur sur une famille d'images compatible avec les GPU. Exemple : --image-family=rocky-linux-8-optimized-gcp.
    Vous pouvez également spécifier une image personnalisée ou une instance Deep Learning VM Image.
  • IMAGE_PROJECT : projet d'image Compute Engine auquel l'image de l'OS appartient. Si vous utilisez une image personnalisée ou une instance Deep Learning VM Image, spécifiez le projet auquel ces images appartiennent.
  • VWS_ACCELERATOR_COUNT : nombre de GPU virtuels dont vous avez besoin.

REST

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.

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": "SOURCE_IMAGE_URI"
    },
    "boot": true
  }
],
"name": "VM_NAME",
"networkInterfaces":
[
  {
    "network": "projects/PROJECT_ID/global/networks/NETWORK"
  }
],
"scheduling":
{
  "onHostMaintenance": "terminate",
  ["automaticRestart": true]
},
}

Remplacez les éléments suivants :
  • VM_NAME : nom de la nouvelle VM.
  • PROJECT_ID : ID de votre projet.
  • ZONE : zone de la VM. Cette zone doit être compatible avec le modèle de GPU sélectionné.
  • MACHINE_TYPE : type de machine que vous avez sélectionné. Sélectionnez l'une des options suivantes :
    • Un type de machine A3.
    • Un type de machine A2.
    • Un 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.
    SOURCE_IMAGE_URI : URI de l'image ou de la famille d'images spécifique que vous souhaitez utiliser. Exemple :
    • Image spécifique : "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • Famille d'images : "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    Lorsque vous spécifiez une famille d'images, Compute Engine crée une VM à partir de l'image de l'OS non obsolète la plus récente dans cette famille. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
  • 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 "par défaut" pour utiliser votre réseau par défaut.
Paramètres supplémentaires :
  • Si votre charge de travail est tolérante aux pannes et peut résister à une éventuelle préemption de VM, envisagez d'utiliser des VM Spot pour réduire le coût de vos VM et des GPU associés. Pour en savoir plus, consultez GPU sur des VM Spot. Pour spécifier des VM Spot, ajoutez l'option "provisioningModel": "SPOT" à votre requête. Pour les VM Spot, les options de redémarrage automatique et de maintenance de l'hôte sont désactivées.
    "scheduling":
      {
        "provisioningModel": "SPOT"
      }
    
  • Pour les VM G2, les postes de travail virtuels NVIDIA RTX (vWS) sont compatibles. Pour spécifier un poste de travail virtuel, ajoutez l'option "guestAccelerators" à votre requête. Remplacez VWS_ACCELERATOR_COUNT par le nombre de GPU virtuels dont vous avez besoin.
    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws"
        }
      ]
    

Limites

VM A3

Les limites suivantes s'appliquent aux VM qui utilisent les types de machines A3 Edge, A3 High et A3 Mega:

  • 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 A3.
  • Vous ne pouvez utiliser des types de machines A3 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 A3.
  • La série de machines A3 n'est disponible que sur la plate-forme Sapphire Rapids.
  • Si votre VM utilise un type de machine A3, vous ne pouvez pas modifier le type de machine. Si vous avez besoin de modifier le type de machine, vous devez créer une nouvelle VM.
  • Vous ne pouvez pas modifier le type de machine d'une VM en type de machine A3. Si vous avez besoin d'une VM qui utilise un type de machine A3, vous devez créer une nouvelle VM.
  • Les types de machines A3 ne sont pas compatibles avec la location unique.
  • Vous ne pouvez pas exécuter des systèmes d'exploitation Windows sur les types de machines A3.
  • Vous ne pouvez réserver des types de machines A3 que via certaines réservations.
  • Pour les types de machine a3-highgpu-1g, a3-highgpu-2g et a3-highgpu-4g, les limites suivantes s'appliquent :
    • Pour ces types de machines, vous devez utiliser des VM Spot ou une fonctionnalité qui utilise le planificateur de charge de travail dynamique (DWS), comme les requêtes de redimensionnement dans un MIG. Pour obtenir des instructions détaillées sur l'une de ces options, consultez les ressources suivantes :
    • Vous ne pouvez pas utiliser Hyperdisk équilibré avec ces types de machines.
    • Vous ne pouvez pas créer de réservations.
    Si vous essayez de créer une VM à l'aide du provisionnement standard ou de créer une réservation pour ces types de machines, vous recevrez un message d'erreur.

VM A2 Standards

  • 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 A2 Standard, vous ne pouvez passer d'un type de machine A2 Standard qu'à un autre type de machine A2 Standard. 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 système d'exploitation Windows avec les types de machines A2 Standard <codea2-megagpu-16g< code="" dir="ltr" translate="no">. Lorsque vous utilisez des systèmes d'exploitation Windows, choisissez un autre type de machine A2 Standard.</codea2-megagpu-16g<>
  • Vous ne pouvez pas effectuer un formatage rapide des disques SSD locaux associés à des VM Windows qui utilisent des types de machines A2 Standard. 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.

VM 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 avez besoin d'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 A2 Ultra. 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.

VM G2

  • 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.
  • Vous ne pouvez utiliser des types de machines G2 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.
  • Le type de machine G2 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.
  • 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.
  • 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.

Installer les pilotes

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

Exemples

Dans ces exemples, la plupart des VM sont créées à l'aide de Google Cloud CLI. Toutefois, vous pouvez également utiliser la console Google Cloud ou REST pour créer ces VM.

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

COS (A3 Edge/High)

Vous pouvez créer des VM a3-edgegpu-8g ou a3-highgpu-8g auxquelles sont associés des GPU H100 à l'aide d'images optimisées pour les conteneurs (COS).

Pour obtenir des instructions détaillées sur la création de ces VM a3-edgegpu-8g ou a3-highgpu-8g qui utilisent Container-Optimized OS, consultez la section Créer une VM A3 avec GPUDirect-TCPX activé.

Image de l'OS public (G2)

Vous pouvez créer des VM auxquelles sont associés des GPU 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 Rocky Linux 8 optimisée pour Google Cloud qui utilise le type de machine g2-standard-8 et qui est associée à un poste de travail virtuel NVIDIA RTX, 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=ZONE \
        --machine-type=g2-standard-8  \
        --maintenance-policy=TERMINATE --restart-on-failure \
        --network-interface=nic-type=GVNIC \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --image-family=rocky-linux-8-optimized-gcp \
        --image-project=rocky-linux-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.
    • ZONE : zone de la VM.
  2. Installez le pilote NVIDIA et CUDA. Pour les GPU NVIDIA L4, la version XX ou ultérieure de CUDA est requise.

Image DLVM (A2)

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 ZONE \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE \
       --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.
    • ZONE : zone de la VM.
  2. L'exemple de commande précédent génère également une instance de notebooks gérés par l'utilisateur Vertex AI Workbench pour la VM. Pour accéder au notebook, accédez à la page Vertex AI Workbench > Notebooks gérés par l'utilisateur dans la console Google Cloud.

    Accéder à la page "Notebooks gérés par l'utilisateur".

GPU multi-instance (VM A3 et A2 uniquement)

Un GPU multi-instance partitionne un seul GPU NVIDIA H100 ou 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 aux GPU NVIDIA H100 ou A100 de fournir une qualité de service (QoS) garantie jusqu'à sept fois supérieur à l'utilisation par rapport aux modèles de GPU précédents.

Vous pouvez créer jusqu'à sept GPU multi-instances. Pour les GPU A100 de 40 Go, chaque GPU multi-instance se voit attribuer 5 Go de mémoire. Avec les GPU A100 80 Go et H100 80 Go, la mémoire allouée double à 10 Go chacun.

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 A3 ou A2 optimisée pour les accélérateurs.

  2. Activez les pilotes de GPU NVIDIA.

  3. Activer les GPU multi-instances

    sudo nvidia-smi -mig 1
    
  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.10gb       19     7/7        9.62       No     16     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.10gb+me    20     1/1        9.62       No     16     1     0   |
    |                                                             1     1     1   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.20gb       15     4/4        19.50      No     26     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 2g.20gb       14     3/3        19.50      No     32     2     0   |
    |                                                             2     2     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 3g.40gb        9     2/2        39.25      No     60     3     0   |
    |                                                             3     3     0   |
    +-----------------------------------------------------------------------------+
    .......
    
  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 permet de créer deux instances de GPU MIG 3g.20gb à l'aide 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,9 -C
    
  6. Vérifiez que les deux GPU multi-instances sont créés :

    sudo nvidia-smi mig -lgi
    
  7. Vérifiez que les GI et les CI correspondants sont créés.

    sudo nvidia-smi
    

    Le résultat ressemble à ce qui suit :

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.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  NVIDIA H100 80G...  Off  | 00000000:04:00.0 Off |                   On |
    | N/A   33C    P0    70W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA H100 80G...  Off  | 00000000:05:00.0 Off |                   On |
    | N/A   32C    P0    69W / 700W |     39MiB / 81559MiB |     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  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Étape suivante