Ce document explique comment créer des instances avec des GPU associés à partir de la série de machines A3 Ultra ou A4. Pour en savoir plus sur la création d'instances avec des GPU associés, consultez la section Présentation de la création d'une instance avec des GPU associés.
Avant de commencer
- Pour découvrir les limites et les étapes préalables supplémentaires à la création d'instances avec des GPU associés, telles que la sélection d'une image de l'OS et la vérification du quota de GPU, consultez la section Présentation de la création d'une instance avec des GPU associés.
-
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 Google Cloud services et aux API.
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 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 Si vous exécutez des charges de travail d'IA et de ML de longue durée, telles que l'entraînement et l'inférence de grands modèles qui nécessitent la latence la plus faible, nous vous recommandons d'utiliser Hypercompute Cluster (bêta). Avec Hypercompute Cluster, vous pouvez réserver des machines à allocation dense qui fournissent une planification tenant compte de la topologie, ainsi qu'une surveillance et une maintenance améliorées de cette capacité réservée. Pour en savoir plus sur le cluster Hypercompute, consultez la section Cluster Hypercompute dans la documentation AI Hypercomputer.
Pour savoir comment créer des instances A3 Ultra ou A4 à l'aide du cluster Hypercompute, consultez la section Présentation de la création de VM et de clusters dans la documentation de l'hypercalculateur d'IA.
Si vous exécutez des charges de travail d'IA et de ML de priorité inférieure qui sont tolérantes aux perturbations de disponibilité, vous pouvez obtenir des remises importantes en utilisant des VM Spot. Bien que vous puissiez créer et supprimer des VM Spot si nécessaire, elles sont des ressources limitées qui ne sont pas toujours disponibles. De plus, Compute Engine peut préempter (arrêter ou supprimer automatiquement) des VM Spot à tout moment. Pour en savoir plus sur les VM Spot, consultez la page VM Spot.
Pour savoir comment créer des instances A3 Ultra ou A4 à l'aide de VM Spot, consultez la section Créer une instance A3 Ultra ou A4 à l'aide de VM Spot de ce document.
- Deux interfaces réseau gVNIC utilisées pour la communication d'hôte à hôte
- 1 interface réseau RDMA (connectée à un réseau avec 8 sous-réseaux) pour la communication entre GPU
- Deux interfaces réseau gVNIC utilisées pour la communication d'hôte à hôte.
- 1 interface réseau RDMA (connectée à un réseau avec 8 sous-réseaux) pour la communication entre GPU.
- Pour créer les réseaux hôtes, consultez Créer et gérer des réseaux de cloud privé virtuel.
- Pour créer les réseaux GPU, consultez la section Créer un réseau de cloud privé virtuel pour les NIC RDMA.
GVNIC_NAME_PREFIX
: préfixe de nom à utiliser pour les réseaux et sous-réseaux VPC standards qui utilisent des NIC gVNIC.RDMA_NAME_PREFIX
: préfixe de nom à utiliser pour les réseaux et sous-réseaux VPC qui utilisent des NIC RDMA.ZONE
: spécifiez une zone dans laquelle le type de machine que vous souhaitez utiliser est disponible. Pour en savoir plus sur les régions, consultez la section Régions et zones de GPU.REGION
: région dans laquelle vous souhaitez créer les réseaux. Il doit correspondre à la zone spécifiée. Par exemple, si votre zone esteurope-west1-b
, votre région esteurope-west1
.IP_RANGE
: plage d'adresses IP à utiliser pour les règles de pare-feu SSH.Accédez à la page Créer une instance dans Google Cloud Console.
Accéder à la page Créer une instance
L'écran Créer une instance s'affiche et affiche le volet Configuration de la machine.
Dans le volet Configuration de la machine, procédez comme suit:
- Indiquez un Nom pour votre instance. Consultez la convention d'attribution de noms des ressources.
- Sélectionnez la région et la zone dans lesquelles vous souhaitez réserver de la capacité. Consultez la liste des régions et zones où les GPU sont disponibles.
- Cliquez sur l'onglet GPU, puis procédez comme suit :
- Dans la liste Type de GPU, sélectionnez le type de GPU.
- Pour les instances A4, sélectionnez
NVIDIA B200
. - Pour les instances A3 Ultra, sélectionnez
NVIDIA H200 141GB
.
- Pour les instances A4, sélectionnez
- Dans la liste Nombre de GPU, sélectionnez
8
.
- Dans la liste Type de GPU, sélectionnez le type de GPU.
Dans le menu de navigation, cliquez sur OS et stockage. Dans le volet OS et stockage qui s'affiche, procédez comme suit:
- Cliquez sur Modifier. Le volet Configuration du disque de démarrage s'ouvre.
- Dans l'onglet Images publiques, sélectionnez une image recommandée. Pour obtenir la liste des images recommandées, consultez la section Systèmes d'exploitation.
- Cliquez sur Sélectionner pour confirmer vos options de disque de démarrage.
Pour créer une instance multi-NIC, procédez comme suit : Sinon, pour créer une instance à NIC unique, ignorez ces étapes.
Dans le menu de navigation, cliquez sur Mise en réseau. Dans le volet Networking (Mise en réseau) qui s'affiche, procédez comme suit:
Dans la section Interfaces réseau, procédez comme suit:
Supprimez l'interface réseau par défaut. Pour supprimer l'interface, cliquez sur
Supprimer.Cliquez sur Ajouter une interface réseau. Utilisez cette option pour ajouter les réseaux gVNIC et RDMA que vous avez créés dans la section précédente. Lorsque vous ajoutez les chaînes, tenez compte des points suivants:
- Spécifiez vos réseaux hôtes dans les listes Réseau et Sous-réseau, puis définissez la liste Carte d'interface réseau sur gVNIC.
- Spécifiez vos réseaux GPU dans les listes Réseau et Sous-réseau, puis définissez la liste Carte d'interface réseau sur MRDMA pour ces réseaux.
Dans le menu de navigation, cliquez sur Avancé. Dans le volet Avancé qui s'affiche, procédez comme suit:
Dans la section Modèle de provisionnement, sélectionnez Spot dans la liste Modèle de provisionnement de VM.
Facultatif: Pour spécifier l'action à effectuer lorsque Compute Engine préempte l'instance (arrêter (par défaut) ou supprimer), procédez comme suit:
- Développez la section Paramètres avancés du modèle de provisionnement de VM.
- Dans la liste À l'arrêt de la VM, sélectionnez une option.
Pour créer et démarrer l'instance, cliquez sur Créer.
INSTANCE_NAME
: nom de l'instance.MACHINE_TYPE
: type de machine à utiliser pour l'instance,a3-ultragpu-8g
oua4-highgpu-8g
.IMAGE_FAMILY
: famille d'images de l'image de l'OS que vous souhaitez utiliser. Pour en savoir plus, consultez la section Détails des systèmes d'exploitation.IMAGE_PROJECT
: ID du projet de l'image de l'OS.TERMINATION_ACTION
(facultatif) : spécifiez l'action à effectuer lorsque Compute Engine préempte l'instance, soitSTOP
(comportement par défaut) soitDELETE
.ZONE
: zone dans laquelle vous souhaitez créer l'instance. Pour en savoir plus, consultez la section Régions et zones des GPU.DISK_SIZE
: taille du disque de démarrage en GoPROJECT_ID
: ID du projet dans lequel vous souhaitez créer l'instance.ZONE
: zone dans laquelle vous souhaitez créer l'instance. Pour en savoir plus, consultez la section Régions et zones des GPU.MACHINE_TYPE
: type de machine à utiliser pour l'instance,a3-ultragpu-8g
oua4-highgpu-8g
.INSTANCE_NAME
: nom de l'instance.DISK_SIZE
: taille du disque de démarrage en GoIMAGE_PROJECT
: ID du projet de l'image de l'OS.IMAGE_FAMILY
: famille d'images de l'image de l'OS que vous souhaitez utiliser. Pour en savoir plus, consultez la section Détails des systèmes d'exploitation.TERMINATION_ACTION
(facultatif) : spécifiez l'action à effectuer lorsque Compute Engine préempte l'instance, soitSTOP
(comportement par défaut) soitDELETE
.- Pour permettre à une instance d'utiliser ses GPU associés, elle a besoin de pilotes de GPU. Sauf si vous avez spécifié une image qui inclut déjà les pilotes de GPU requis, suivez la procédure pour installer les pilotes de GPU.
- Pour préparer une VM Spot à l'utilisation, procédez comme suit :
- Pour savoir comment vous assurer qu'une VM Spot peut résister à la préemption, consultez Gérer la préemption des VM Spot.
- Facultatif: Découvrez les bonnes pratiques pour utiliser des VM Spot.
- Pour surveiller les performances du GPU, consultez la page Surveiller les performances du GPU.
- Pour résoudre les problèmes liés aux instances GPU, consultez la section Résoudre les problèmes liés aux VM GPU.
- Apprenez-en plus sur les plates-formes 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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Avant de commencer
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
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
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 d'instances, 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 instances. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des instances:
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une instance A3 Ultra ou A4
Les instances A3 Ultra ou A4 sont disponibles via les options de création suivantes, qui ont chacune des procédures de création, une disponibilité des ressources et des tarifs différents. Identifiez l'option que vous souhaitez utiliser en fonction de votre charge de travail.
Créer une instance A3 Ultra ou A4 à l'aide de VM Spot
Pour créer une instance A3 Ultra ou A4 à l'aide de VM Spot, procédez comme suit:
Créer des réseaux VPC
En fonction du type de machine que vous souhaitez utiliser et du nombre d'interfaces réseau de ce type, vous devez créer des réseaux cloud privé virtuel (VPC) comme suit:
Type de machine Nombre de cartes d'interface réseau physiques* Interfaces réseau† Nombre de réseaux VPC à créer a4-highgpu-8g
10 3 a3-ultragpu-8g
10 3 * Pour en savoir plus sur la configuration des NIC, consultez la section Examiner la bande passante réseau et la configuration des NIC.†Pour en savoir plus sur les interfaces réseau, consultez les pages Utiliser la carte d'interface réseau virtuelle Google et Profils réseau RDMA.Configurez les réseaux manuellement en suivant les guides d'instructions ou automatiquement à l'aide du script fourni.
Guides d'instructions
Pour créer les réseaux, vous pouvez suivre les instructions suivantes:
Script
Pour créer les réseaux, vous pouvez utiliser le script suivant.
#!/bin/bash # Create standard VPCs (network and subnets) for the gVNICs for N in $(seq 0 1); do gcloud beta compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud beta compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud beta compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud beta compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Assumes that an external IP is only created for vNIC 0 gcloud beta compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # List and make sure network profiles exist gcloud beta compute network-profiles list # Create network for CX-7 gcloud beta compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom # Create subnets. for N in $(seq 0 7); do gcloud beta compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \ --network=RDMA_NAME_PREFIX-mrdma \ --region=REGION \ --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs done
Remplacez les éléments suivants :
Créer la VM Spot
Pour créer la VM Spot, utilisez l'une des méthodes suivantes:
Console
gcloud
Pour créer l'instance, utilisez la commande
gcloud beta compute instances create
:gcloud beta compute instance create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --provisioning-model=SPOT \ --instance-termination-action=TERMINATION_ACTION \ --zone=ZONE \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --scopes=cloud-platform \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address
Remplacez les éléments suivants :
REST
Pour créer l'instance, envoyez une requête
POST
à la méthodeinstances.insert
comme suit:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/ { { "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name":"INSTANCE_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }
Remplacez les éléments suivants :
Préparer une VM Spot avec des GPU associés à utiliser
Pour préparer une VM Spot avec des GPU associés à l'utilisation, procédez comme suit:
É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 2025/03/27 (UTC).
-