Vous pouvez créer un groupe de machines virtuelles (VM) auxquelles des processeurs graphiques (GPU) sont associés à l'aide du processus de création groupée. Avec le processus de création groupée, vous obtenez une validation initiale au cours de laquelle la requête échoue rapidement si cela n'est pas possible. En outre, si vous utilisez l'option régionale, l'API de création groupée choisit automatiquement la zone ayant la capacité nécessaire de répondre à la requête. Pour en savoir plus sur la création groupée, consultez la section À propos de la création groupée de VM.
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 :
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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 - Pour les types de machines optimisés pour l'accélérateur A3, les, GPU NVIDIA H100 80 Go sont associés. Celles-ci sont disponibles dans les options suivantes :
- A3 High (
a3-highgpu-8g
) : ce type de machine est associé à des GPU H100 de 80 Go. - A3 Mega (
a3-megagpu-8g
) : ce type de machine est associé à des Méga GPU H100 de 80 Go.
- A3 High (
- Pour les types de machines optimisés pour l'accélérateur A2, les, GPU NVIDIA A100 sont associés. Celles-ci sont disponibles dans les options suivantes :
- A2 Standard (
a2-highgpu-*
,a2-megagpu-*
) : ces types de machines sont associés à des GPU A100 de 40 Go. - A2 Ultra (
a2-ultragpu-*
) : ces types de machines sont associés à des GPU A100 de 80 Go.
- A2 Standard (
- Pour les types de machines optimisés pour l'accélérateur G2, les (
g2-standard-*
), GPU NVIDIA L4 sont associés. --provisioning-model=SPOT
est une option facultative 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 la section 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.- Noms des VM :
my-test-vm-1
,my-test-vm-2
- Chaque VM est associée à deux GPU, spécifiés à l'aide du type de machine optimisé pour les accélérateurs approprié.
REGION
: région des 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
.
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. Par 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.- Noms des VM :
my-test-vm-1
,my-test-vm-2
Chaque VM est associée à deux GPU, spécifiés à l'aide du type de machine optimisé pour les accélérateurs approprié.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":MACHINE_TYPE, "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":SOURCE_IMAGE_URI }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", ["automaticRestart":true] } } }
PROJECT_ID
: ID de votre projet.REGION
: région des 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 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.
- Image spécifique :
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 utiliser une 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. RemplacezVWS_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" } ]
- 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.
- Le type de machine 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.
- 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.
- 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
. - 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
.
- Utilisez une version de Container-Optimized OS compatible avec le pilote NVIDIA version
- 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.
- NVIDIA T4 :
nvidia-tesla-t4
- NVIDIA P4 :
nvidia-tesla-p4
- NVIDIA P100 :
nvidia-tesla-p100
- NVIDIA V100 :
nvidia-tesla-v100
- 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.
- Noms des VM :
my-test-vm-1
,my-test-vm-2
- VM créées dans n'importe quelle zone de la région
us-central1
compatible avec les GPU - Chaque VM est associée à deux GPU T4, spécifiés à l'aide des options de type et de nombre d'accélérateurs.
- Des pilotes de GPU sont installés sur chaque VM
- Chaque VM utilise l'instance Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
. - Noms des VM :
my-test-vm-1
,my-test-vm-2
- VM créées dans n'importe quelle zone de la région
us-central1
compatible avec les GPU - Chaque VM est associée à deux GPU T4, spécifiés à l'aide des options de type et de nombre d'accélérateurs.
- Des pilotes de GPU sont installés sur chaque VM
- Chaque VM utilise l'instance Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
. Découvrez comment surveiller les performances des GPU.
Découvrez comment utiliser une bande passante réseau plus élevée.
Découvrez comment gérer les événements de maintenance de l'hôte GPU.
- Découvrez comment afficher l'utilisation réelle et prévue de vos VM et GPU.
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 :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Présentation
Lorsque vous créez des VM avec des GPU associés à l'aide de la méthode de création groupée, vous pouvez choisir de créer des VM dans une région (par exemple,
us-central1
) ou dans une zone spécifique commeus-central1-a
.Si vous choisissez de spécifier une région, Compute Engine place les VM dans n'importe quelle zone de la région compatible avec les GPU.
Créer des groupes de VM 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 High et A3 Mega, A2 Standard et A2 Ultra, ainsi que dans les types de machines G2.
Chaque type de machine optimisé pour les accélérateurs est associé à un modèle spécifique de GPU NVIDIA.
Vous créez un groupe de VM optimisées pour les accélérateurs à l'aide de Google Cloud CLI ou de REST.
gcloud
Pour créer un groupe de VM, utilisez la commande
gcloud compute instances bulk create
. Pour en savoir plus sur les paramètres et l'utilisation de cette commande, consultez la section Créer des VM de manière groupée.Les options facultatives suivantes sont affichées dans l'exemple de commande :
Exemple
Cet exemple crée deux VM auxquelles sont associés des GPU en utilisant les spécifications suivantes :
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --region=REGION \ --count=2 \ --machine-type=MACHINE_TYPE \ --boot-disk-size=200 \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --on-host-maintenance=TERMINATE \ [--provisioning-model=SPOT] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
Remplacez les éléments suivants :
Si l'opération réussit, le résultat est semblable à ceci :
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Utilisez la méthode
instances.bulkInsert
avec les paramètres requis pour créer plusieurs VM dans une zone. Pour en savoir plus sur les paramètres et l'utilisation de cette commande, consultez la section Créer des VM de manière groupée.Exemple
Cet exemple crée deux VM auxquelles sont associés des GPU en utilisant les spécifications suivantes :
Remplacez les éléments suivants :
Paramètres supplémentaires :
Limites
VM A3
Les limites suivantes s'appliquent aux VM qui utilisent les types de machines A3 High et A3 Mega :
VM A2 Standards
VM A2 Ultra
VM G2
Créer des groupes de VM à usage général N1
Vous créez un groupe de VM optimisées pour les accélérateurs à l'aide de Google Cloud CLI ou de REST.
Cette section explique comment créer plusieurs VM à l'aide des types de GPU suivants.
GPU NVIDIA :
Poste de travail virtuel NVIDIA RTX (vWS) (anciennement NVIDIA GRID) :
gcloud
Pour créer un groupe de VM, utilisez la commande
gcloud compute instances bulk create
. Pour en savoir plus sur les paramètres et l'utilisation de cette commande, consultez la section Créer des VM de manière groupée.Exemple
L'exemple suivant crée deux VM avec des GPU associés à l'aide des spécifications suivantes :
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --count=2 \ --region=us-central1 \ --machine-type=n1-standard-2 \ --accelerator type=nvidia-tesla-t4,count=2 \ --boot-disk-size=200 \ --metadata="install-nvidia-driver=True" \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --image=pytorch-latest-gpu-v20211028-debian-10 \ --image-project=deeplearning-platform-release \ --on-host-maintenance=TERMINATE --restart-on-failure
Si l'opération réussit, le résultat est semblable à ceci :
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Utilisez la méthode
instances.bulkInsert
avec les paramètres requis pour créer plusieurs VM dans une zone. Pour en savoir plus sur les paramètres et l'utilisation de cette commande, consultez la section Créer des VM de manière groupée.Exemple
L'exemple suivant crée deux VM avec des GPU associés à l'aide des spécifications suivantes :
en remplaçant
PROJECT_ID
par l'ID de votre projet :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/us-central1/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":"n1-standard-2", "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10" }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-t4" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", "automaticRestart":true }, "metadata":{ "items":[ { "key":"install-nvidia-driver", "value":"True" } ] } } }
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/21 (UTC).
-