Créer une instance de VM Cloud TPU à l'aide de Compute Engine
Ce document explique comment créer une seule VM TPU à l'aide de la commande Compute Engine gcloud compute instances create. Vous pouvez également créer une instance de VM TPU en spécifiant un modèle d'instance. Pour en savoir plus, consultez Créer une VM à partir d'un modèle d'instance.
Prérequis
Remplissez les conditions préalables suivantes :
Créez un projet Google Cloud pour vos TPU, comme décrit dans Configurer un projet Google Cloud pour les TPU.
Déterminez vos besoins en TPU comme décrit dans Planifier vos ressources Cloud TPU.
Créer une instance de VM TPU
Les paramètres que vous utilisez pour créer une instance de VM TPU dépendent de l'option de consommation que vous utilisez : à la demande, Spot, liée à la réservation ou démarrage flexible. Pour en savoir plus, consultez Planifier vos ressources TPU.
Créer une instance de VM TPU à la demande
Pour créer une instance de VM TPU à la demande, utilisez la commande gcloud compute instances create :
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- TPU_NAME : nom de votre VM TPU.
- MACHINE_TYPE : type de machine de la VM TPU (par exemple,
ct6e-standard-8t). - IMAGE_FAMILY : famille d'images de l'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image de l'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images. - ZONE : zone de la VM TPU (par exemple,
us-central1-b).
Créer une instance de VM Spot TPU
Pour créer une instance de VM Spot TPU, utilisez la commande gcloud compute instances create avec l'option --provisioning-model=SPOT :
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=SPOT \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "SPOT",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- TPU_NAME : nom de votre VM TPU.
- MACHINE_TYPE : type de machine de la VM TPU (par exemple,
ct6e-standard-8t). - IMAGE_FAMILY : famille d'images de l'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image de l'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images. - ZONE : zone de la VM TPU (par exemple,
us-central1-b).
Créer une instance de VM TPU à l'aide d'une réservation
Pour créer une instance de VM TPU à l'aide de l'option de consommation reservation-bound, utilisez la commande gcloud compute instances create avec les options --reservation-affinity=specific et --reservation :
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=reservation-bound \
--reservation-affinity=specific \
--reservation=RESERVATION_NAME \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "RESERVATION_BOUND",
"instanceTerminationAction": "DELETE"
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "SPECIFIC_RESERVATION",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION_NAME"
]
}
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- TPU_NAME : nom de votre VM TPU.
- MACHINE_TYPE : type de machine de la VM TPU (par exemple,
ct6e-standard-8t). - IMAGE_FAMILY : famille d'images d'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image de l'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images. - ZONE : zone de la VM TPU (par exemple,
us-central1-b). RESERVATION_NAME : nom de la réservation spécifique à consommer. Pour toutes les réservations en mode Capacité, vous pouvez cibler un bloc ou un sous-bloc en spécifiant l'URL de réservation comme suit :
Spécifiez un bloc :
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAMESpécifiez un sous-bloc :
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
Créer une VM TPU à démarrage flexible
Pour créer une instance de VM TPU à démarrage flexible, utilisez la commande gcloud compute instances create avec l'option --provisioning-model=FLEX_START :
gcloud
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--provisioning-model=FLEX_START \
--max-run-duration=MAX_RUN_DURATION \
--request-valid-for-duration=VALID_DURATION \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"name": "TPU_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
}
}
],
"params": {
"requestValidForDuration": {
"seconds": VALID_DURATION
}
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START",
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
}
},
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}' \
"https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"
Remplacez les espaces réservés suivants :
- PROJECT_ID : ID de votre projet Google Cloud .
- TPU_NAME : nom de votre VM TPU.
- MACHINE_TYPE : type de machine de la VM TPU (par exemple,
ct6e-standard-8t). - IMAGE_FAMILY : famille d'images de l'OS pour la VM TPU. Si vous souhaitez installer une version d'OS spécifique, utilisez l'option
--image. Pour en savoir plus sur les images d'OS, consultez Images d'OS. - IMAGE_PROJECT : projet contenant l'image de l'OS.
Pour les images TPU, il s'agit de
ubuntu-os-accelerator-images. - ZONE : zone de la VM TPU (par exemple,
us-central1-b). - MAX_RUN_DURATION : durée d'exécution maximale de la VM TPU (par exemple,
6h). Pour REST, spécifiez cette valeur en secondes (par exemple,21600pour 6 heures). - VALID_DURATION : durée maximale de validité de la requête. Pour REST, spécifiez cette valeur en nombre de secondes (par exemple,
3600pour une heure).
Pour en savoir plus sur la création d'instances Compute Engine, consultez Créer et démarrer une instance Compute Engine.
Étapes suivantes
- Découvrez comment créer un MIG avec des tranches Cloud TPU à hôte unique.
- Découvrez comment créer un MIG avec une tranche Cloud TPU multi-hôte.
- Découvrez comment gérer les VM TPU.
- Apprenez-en plus sur les TPU dans GKE.