Ce document explique comment créer une instance de machine virtuelle (VM) qui utilise un type de machine des séries G2 ou G4. Ces types de machines de série G optimisées pour les accélérateurs sont adaptés à l'exécution d'applications exigeantes en ressources graphiques et à l'inférence de machine learning (ML) économique.
Vous pouvez créer ces VM en tant que VM à la demande. Pour réduire vos coûts, vous pouvez également créer des VM Spot G2 et G4, ou des VM G2 à démarrage flexible. Pour en savoir plus sur la création de VM avec des GPU associés, consultez Présentation de la création d'une instance avec des GPU associés.
Pour les charges de travail qui ne nécessitent pas les ressources d'un GPU complet, vous pouvez créer des VM auxquelles sont associés des GPU fractionnés (GPU virtuels) (Preview) afin de permettre à plusieurs charges de travail d'accéder à un seul GPU physique.
Pour créer plusieurs VM G2 ou G4, vous pouvez utiliser l'une des méthodes suivantes :
- Groupes d'instances gérés (MIG) : pour les charges de travail qui nécessitent une haute disponibilité, une évolutivité et des réparations automatisées, vous pouvez créer un MIG qui utilise un modèle d'instance GPU.
- Création groupée d'instances : pour créer un grand nombre d'instances indépendantes, vous pouvez créer des VM G2 et G4 de manière groupée.
Avant de commencer
- Pour connaître les limites et les étapes préalables supplémentaires à la création d'instances avec des GPU associés (comme la sélection d'une image de l'OS et la vérification du quota de GPU), consultez Présentation de la création d'une instance avec des GPU associés.
- Pour créer des instances G4 auxquelles sont associés moins d'un GPU (GPU fractionnés) (preview), vous devez utiliser un projet Google Cloud qui a été ajouté à la liste d'autorisation pour la preview. Une fois que vous avez reçu la confirmation que votre projet Google Cloud a été ajouté à la liste d'autorisation pour l'aperçu, vous pouvez créer des instances G4 avec des GPU fractionnés (GPU virtuels).
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet 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 :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services Google Cloud et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Rôles requis
Pour obtenir les autorisations nécessaires à la création de VM, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur d'instances Compute (v1) (roles/compute.instanceAdmin.v1) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour créer des VM. 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.createsur le projet-
Pour créer la VM à l'aide d'une image personnalisée :
compute.images.useReadOnlysur l'image -
Pour créer la VM à l'aide d'un instantané :
compute.snapshots.useReadOnlysur l'instantané -
Pour créer la VM à l'aide d'un modèle d'instance :
compute.instanceTemplates.useReadOnlysur le modèle d'instance -
Pour spécifier un sous-réseau pour la VM :
compute.subnetworks.usesur le projet ou sur le sous-réseau choisi -
Pour spécifier une adresse IP statique pour la VM :
compute.addresses.usesur le projet -
Pour attribuer une adresse IP externe à la VM en cas d'utilisation d'un réseau VPC :
compute.subnetworks.useExternalIpsur le projet ou sur le sous-réseau choisi -
Pour attribuer un ancien réseau à la VM :
compute.networks.usesur le projet -
Pour attribuer une adresse IP externe à la VM en cas d'utilisation d'un ancien réseau :
compute.networks.useExternalIpsur le projet -
Pour définir les métadonnées d'instance de VM pour la VM :
compute.instances.setMetadatasur le projet -
Pour définir des tags pour la VM :
compute.instances.setTagssur la VM -
Pour définir des étiquettes pour la VM :
compute.instances.setLabelssur la VM -
Pour définir un compte de service que doit utiliser la VM :
compute.instances.setServiceAccountsur la VM -
Pour créer un disque pour la VM :
compute.disks.createsur le projet -
Pour associer un disque existant en mode lecture seule ou en mode lecture-écriture :
compute.disks.usesur le disque -
Pour associer un disque existant en mode lecture seule :
compute.disks.useReadOnlysur 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 instance dotée de GPU associés
Vous pouvez créer une instance optimisée pour les accélérateurs G2 ou G4 à l'aide de la console Google Cloud , de Google Cloud CLI ou de REST.
Console
Accédez à la page Créer une instance dans la console Google Cloud .
Dans le champ Nom, saisissez un nom unique pour votre instance. Consultez la convention d'attribution de noms des ressources.
Sélectionnez une région et une zone dans lesquelles ces types de machines GPU sont disponibles. Consultez Régions et zones GPU.
Dans la section "Types de machines", sélectionnez GPU.
Dans la liste Type de GPU, sélectionnez le type de GPU.
- Pour les instances G2, sélectionnez
NVIDIA L4. - Pour les instances G4, sélectionnez
NVIDIA RTX PRO 6000.
- Pour les instances G2, sélectionnez
Dans la liste Nombre de GPU, sélectionnez le nombre de GPU.
- Pour les instances G4, la console sélectionne automatiquement le type de machine correspondant en fonction du nombre de GPU sélectionnés.
Pour les instances G2, consultez les informations suivantes :
- Si vous sélectionnez un GPU, vous pouvez ensuite choisir parmi un ensemble de types de machines avec des quantités prédéfinies de vCPU et de mémoire adaptées à vos charges de travail.
- Si vous sélectionnez au moins deux GPU, la console sélectionne automatiquement le type de machine correspondant en fonction du nombre de GPU sélectionnés.
Pour les instances G2, vous pouvez également spécifier des types de machines personnalisés. Pour spécifier le nombre de processeurs virtuels et la quantité de mémoire de l'instance, faites glisser les curseurs ou saisissez les valeurs dans les zones de texte. La console indique une estimation du coût de l'instance lorsque vous modifiez le nombre de processeurs virtuels et la mémoire.
Facultatif : Les séries de machines G2 et G4 sont compatibles avec les postes de travail virtuels (vWS) NVIDIA RTX pour les charges de travail graphiques. Si vous prévoyez d'exécuter des charges de travail graphiques lourdes sur votre instance, sélectionnez Activer le poste de travail virtuel (NVIDIA GRID).
Configurez le disque de démarrage comme suit :
- Dans la section OS et stockage, cliquez sur Modifier. La page Configuration du disque de démarrage s'ouvre.
Sur la page Configuration du disque de démarrage, procédez comme suit :
- Dans l'onglet Images publiques, choisissez une image Compute Engine acceptée ou une instance Deep Learning VM Image.
- Spécifiez une taille de disque de démarrage d'au moins 40 Gio.
- Cliquez sur Sélectionner pour confirmer vos options de disque de démarrage.
Facultatif : Ajoutez des disques SSD locaux. Un disque SSD local peut être utilisé en tant qu'espace de travail rapide ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S. Pour ajouter des SSD locaux à votre instance, procédez comme suit :
- Dans la section OS et stockage, cliquez sur Ajouter un SSD local.
- Pour Interface, sélectionnez NVMe.
- Dans Capacité du disque, sélectionnez le nombre de disques SSD locaux que vous souhaitez associer. Pour connaître le nombre maximal de disques SSD locaux par instance, consultez les limites des séries de machines pour les disques SSD locaux.
Facultatif : Pour obtenir une bande passante réseau plus élevée pour vos instances
g4-standard-384, configurez plusieurs interfaces réseau. Vous pouvez configurer jusqu'à deux interfaces réseau. Cette configuration crée une instanceg4-standard-384avec deux interfaces réseau (2 x 200 Gbit/s). Dans la section Mise en réseau, procédez comme suit :- Développez l'interface réseau par défaut.
- Spécifiez le réseau et le sous-réseau pour votre première interface.
- Pour Carte d'interface réseau, sélectionnez gVNIC.
Cliquez sur Ajouter une interface réseau pour ajouter la deuxième interface. Configurez la deuxième interface réseau comme suit :
- Sélectionnez un autre réseau et un autre sous-réseau VPC. Chaque interface réseau doit se trouver dans un réseau VPC unique.
- Pour Carte d'interface réseau, sélectionnez gVNIC.
Facultatif : Configurez un autre modèle de provisionnement pour réduire vos coûts. Dans la section Options avancées, sous Modèle de provisionnement de VM, sélectionnez l'une des options suivantes :
(G2 uniquement) Démarrage flexible : pour les charges de travail de courte durée qui peuvent tolérer une heure de début flexible. Pour en savoir plus, consultez À propos des VM à démarrage flexible.
Spot : pour les charges de travail tolérantes aux pannes qui peuvent être préemptées. Pour en savoir plus, consultez VM Spot.
Facultatif : Dans la liste À l'arrêt de la VM, sélectionnez ce qui se passe lorsque Compute Engine préempte les VM Spot ou que la durée d'exécution des VM à démarrage flexible arrive à son terme :
- 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.
Pour créer et démarrer la VM, cliquez sur Créer.
gcloud
Pour créer et démarrer une instance, utilisez la commande gcloud compute instances create. La commande suivante inclut les options requises.
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 \
--restart-on-failure
Remplacez les éléments suivants :
VM_NAME: nom de la nouvelle instanceMACHINE_TYPE: type de machine que vous avez sélectionné. Choisissez l'une des options suivantes :- Un type de machine G4.
- 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 instance avec 4 processeurs virtuels et 19 Go de mémoire, spécifiez
--machine-type=g2-custom-4-19456.
ZONE: zone de l'instance. La zone doit être compatible avec le modèle de GPU sélectionné.DISK_SIZE: taille de votre disque de démarrage en Gio. Spécifiez une taille de disque de démarrage d'au moins 40 Gio.IMAGE: image de système d'exploitation compatible avec les GPU. Pour utiliser l'image la plus récente dans une famille d'images, remplacez l'option--imagepar l'option--image-familyet 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.
Flags facultatifs
Pour configurer davantage votre instance afin de répondre aux besoins de votre charge de travail ou de votre système d'exploitation, incluez un ou plusieurs des flags suivants lorsque vous exécutez la commande gcloud compute instances create.
| Fonctionnalité | Description |
|---|---|
| Modèle de provisionnement | Définit le modèle d'approvisionnement de l'instance. Vous pouvez spécifier STANDARD, SPOT ou FLEX_START. Si vous spécifiez FLEX_START, vous devez spécifier d'autres options dans la commande permettant de créer l'instance. Si vous ne spécifiez pas de modèle de provisionnement, Compute Engine définit la valeur sur STANDARD. Pour en savoir plus, consultez Modèles de provisionnement des instances Compute Engine.
--provisioning-model=PROVISIONING_MODEL |
| Poste de travail virtuel | Spécifie les postes de travail virtuels (vWS) NVIDIA RTX pour les charges de travail graphiques.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT Remplacez les éléments suivants :
|
| SSD local | Associe un ou plusieurs disques SSD locaux à votre instance. Un disque SSD peut être utilisé en tant qu'espace de travail rapide ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S.
--local-ssd=interface=nvme \
--local-ssd=interface=nvme \
--local-ssd=interface=nvme ... |
| Interface réseau | Associe plusieurs interfaces réseau à votre instance. Pour les instances g4-standard-384, vous pouvez associer jusqu'à deux interfaces réseau. Vous pouvez utiliser ce flag pour créer une instance avec deux interfaces réseau (2 x 200 Gbit/s). Chaque interface réseau doit se trouver dans un réseau VPC unique.
--network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \ --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC Seuls les types de machines Remplacez les éléments suivants :
|
| Stratégie d'emplacement | Contrôle l'emplacement de votre instance dans une zone. Vous pouvez spécifier une stratégie compacte pour minimiser la latence du réseau entre vos instances G2, ou une stratégie de répartition pour améliorer la résilience de vos instances G4 ou G2 face aux perturbations spécifiques à une zone.
--resource-policies=POLICY_NAME Remplacez |
REST
Envoyez une requête POST à la méthode instances.insert.
Étant donné que les instances avec GPU ne peuvent pas migrer à chaud, définissez le champ onHostMaintenance sur TERMINATE. La méthode suivante inclut les champs requis pour le corps de la requête.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"disks":[
{
"type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"sourceImage":"SOURCE_IMAGE_URI"
},
"boot":true
}
],
"name":"VM_NAME",
"networkInterfaces":[
{
"network":"projects/PROJECT_ID/global/networks/default"
}
],
"scheduling":{
"onHostMaintenance": "TERMINATE",
"automaticRestart": true
}
}
Remplacez les éléments suivants :
VM_NAME: nom de la nouvelle instancePROJECT_ID: par l'ID du projet.ZONE: zone de l'instance. 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 G4.
- 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, le nom du type de machine pour une instance avec quatre vCPU et 19 Go de mémoire serait
g2-custom-4-19456.
SOURCE_IMAGE_URI: URI de l'image ou de la famille d'images spécifique que vous souhaitez utiliser. Par 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"
- Image spécifique :
DISK_SIZE: taille de votre disque de démarrage en Gio. Spécifiez une taille de disque de démarrage d'au moins 40 Gio.
Champs facultatifs
Pour configurer davantage votre instance afin de répondre aux besoins de votre charge de travail ou de votre système d'exploitation, incluez un ou plusieurs des flags suivants lorsque vous exécutez la méthode instances.insert.
| Fonctionnalité | Description |
|---|---|
| Modèle de provisionnement | Pour réduire vos coûts, vous pouvez spécifier un autre modèle de provisionnement en ajoutant le champ "provisioningModel": "PROVISIONING_MODEL" à l'objet scheduling de votre requête. Pour en savoir plus, consultez Modèles de provisionnement des instances Compute Engine.
"scheduling":
{
"onHostMaintenance": "TERMINATE",
"provisioningModel": "PROVISIONING_MODEL"
}
Remplacez
|
| Poste de travail virtuel | Spécifie un poste de travail virtuel (vWS) NVIDIA RTX pour les charges de travail graphiques.
"guestAccelerators":
[
{
"acceleratorCount": VWS_ACCELERATOR_COUNT,
"acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
}
]
Remplacez les éléments suivants :
|
| SSD local | Associe un ou plusieurs disques SSD locaux à votre instance. Un disque SSD peut être utilisé en tant qu'espace de travail rapide ou pour envoyer des données aux GPU tout en évitant les goulots d'étranglement d'E/S.
{
"type": "SCRATCH",
"autoDelete": true,
"initializeParams": {
"diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
}
}
|
| Interface réseau | Associe plusieurs interfaces réseau à votre instance. Pour les instances g4-standard-384, vous pouvez associer jusqu'à deux interfaces réseau. Cela crée une instance avec deux interfaces réseau (2 x 200 Gbit/s). Chaque interface réseau doit se trouver dans un réseau VPC unique.
"networkInterfaces":
[
{
"network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
"nicType": "GVNIC"
},
{
"network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
"nicType": "GVNIC"
}
]
Seuls les types de machines Remplacez les éléments suivants :
|
| Stratégie d'emplacement | Contrôle l'emplacement de votre instance dans une zone. Vous pouvez spécifier une stratégie compacte pour minimiser la latence du réseau entre vos instances G2, ou une stratégie de répartition pour améliorer la résilience de vos instances G4 ou G2 face aux perturbations spécifiques à une zone.
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
Remplacez les éléments suivants :
|
Installer les pilotes
Après avoir créé votre instance, vous devez installer un pilote pour qu'elle puisse utiliser le GPU. Le pilote que vous devez installer dépend de l'activation ou non d'un poste de travail virtuel (vWS) NVIDIA RTX pour les charges de travail graphiques lors de la création de l'instance.
- Si vous n'avez pas activé de poste de travail virtuel, installez le pilote de GPU sur votre VM.
- Si vous avez activé un poste de travail virtuel, installez un pilote pour le poste de travail virtuel.
Installer des pilotes de GPU virtuels pour les GPU fractionnés
Pour les instances G4 auxquelles est associé moins d'un GPU, vous devez installer un pilote de GPU virtuel spécifique après avoir créé votre instance. Ce pilote se connecte au pilote hôte de la machine physique. Pour obtenir des instructions, consultez Installer des pilotes de GPU virtuels (VM fractionnées).
(Facultatif) Mode GPU multi-instance (G4 uniquement)
Le mode GPU multi-instance (MIG) est une fonctionnalité que vous pouvez activer sur un GPU NVIDIA compatible.
Après avoir créé une instance G4, vous pouvez activer le mode GPU multi-instance (MIG) sur un seul GPU NVIDIA RTX PRO 6000 associé à votre machine. Lorsque le mode MIG est activé, le GPU unique est partitionné en sept instances GPU indépendantes. Chaque instance s'exécute simultanément, chacune avec sa propre mémoire, son propre cache et ses propres multiprocesseurs de flux. Vous pouvez ensuite exécuter différentes charges de travail en parallèle sur ces instances de GPU. Cette approche est différente de l'utilisation de types de machines G4 avec des GPU fractionnés, où plusieurs charges de travail partagent l'accès à un seul GPU physique via un partitionnement fractionné (GPU virtuels).
Pour en savoir plus sur l'utilisation des GPU multi-instances, consultez Premiers pas avec MIG dans la documentation NVIDIA.
Étape suivante
- Apprenez-en plus sur les plates-formes GPU.
- Pour gérer la maintenance de l'hôte GPU, consultez la section Gérer les événements de maintenance de l'hôte GPU.