Crea un'istanza Cloud TPU VM utilizzando Compute Engine
Questo documento mostra come creare una singola VM TPU con il comando gcloud compute instances create di Compute Engine. Puoi anche creare un'istanza VM TPU specificando un template di istanza. Per saperne di più, consulta Crea una VM da un template di istanza.
Prerequisiti
Completa i seguenti prerequisiti:
Crea un progetto Google Cloud per le tue TPU come descritto in Configura un progetto Google Cloud per le TPU.
Determina i requisiti della TPU come descritto in Pianifica le risorse Cloud TPU.
Crea un'istanza di VM TPU
I parametri che utilizzi per creare un'istanza VM TPU dipendono dall'opzione di consumo che utilizzi: on demand, spot, con prenotazione o con avvio flessibile. Per saperne di più, consulta Pianifica le risorse TPU.
Crea un'istanza di VM TPU on demand
Per creare un'istanza VM TPU on demand, utilizza il
comando 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"
Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo progetto Google Cloud .
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, il valore è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b).
Crea un'istanza di VM spot TPU
Per creare un'istanza di VM spot TPU, utilizza il
comando gcloud compute instances create
con il flag --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"
Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo progetto Google Cloud .
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, il valore è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b).
Crea un'istanza VM TPU utilizzando una prenotazione
Per creare un'istanza VM TPU utilizzando l'opzione di consumo con prenotazione, utilizza il comando gcloud compute instances create con i flag --reservation-affinity=specific e --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"
Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo progetto Google Cloud .
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, il valore è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b). RESERVATION_NAME: il nome della prenotazione specifica da utilizzare. Per tutte le prenotazioni in modalità Capacità, puoi scegliere come target un blocco o un blocco secondario specificando l'URL per prenotare come segue:
Specifica un blocco:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAMESpecifica un blocco secondario:
RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
Crea una VM TPU Flex-start
Per creare un'istanza VM TPU Flex-start, utilizza il
comando gcloud compute instances create
con il flag --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"
Sostituisci i seguenti segnaposto:
- PROJECT_ID: l'ID del tuo progetto Google Cloud .
- TPU_NAME: un nome per la VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag
--image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo.
Per le immagini TPU, il valore è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b). - MAX_RUN_DURATION: la durata massima di esecuzione della VM TPU (ad esempio
6h). Per REST, specifica un numero di secondi (ad esempio21600per 6 ore). - VALID_DURATION: la durata massima di validità della richiesta. Per REST, specifica questo valore come numero di secondi (ad esempio
3600per 1 ora).
Per saperne di più sulla creazione di istanze Compute Engine, consulta Crea e avvia un'istanza Compute Engine.
Passaggi successivi
- Scopri come creare un MIG con sezioni Cloud TPU a host singolo.
- Scopri come creare un MIG con uno slice Cloud TPU multi-host.
- Scopri come gestire le VM TPU.
- Scopri di più sulle TPU in GKE.