Questo documento descrive come creare un'istanza di una macchina virtuale (VM) TPU. Una VM TPU è anche chiamata slice TPU a host singolo.
Per creare un gruppo di slice a host singolo, consulta Creare un MIG con slice TPU a host singolo.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.
Prerequisiti
Prima di procedere alla creazione di un'istanza TPU, devi eseguire le seguenti operazioni:
Scegli la versione TPU: seleziona la versione TPU adatta al tuo carico di lavoro. Per un elenco delle versioni TPU per tipo di carico di lavoro, consulta Versioni TPU consigliate per tipo di carico di lavoro.
Convalida la disponibilità della TPU nella località preferita: le TPU sono disponibili in regioni specifiche Google Cloud . Per utilizzare una versione TPU, assicurati che sia disponibile nella regione che preferisci. Per un elenco delle località TPU, consulta Disponibilità delle TPU.
Assicurati che il tuo progetto abbia una quota TPU sufficiente: se crei un'istanza TPU con VM on demand o Spot, devi avere una quota TPU sufficiente disponibile nella regione che vuoi utilizzare. La creazione di un'istanza TPU che utilizza una prenotazione TPU non richiede alcuna quota TPU, poiché la quota viene utilizzata al momento della creazione della prenotazione. Per un elenco dei nomi delle quote TPU, consulta Quota TPU e per istruzioni su come visualizzare la quota, consulta Visualizza e gestisci le quote
Scegli un'opzione di consumo TPU: seleziona un'opzione di consumo che si adatti meglio al tuo carico di lavoro, alla sua durata e alle tue esigenze di costo. Per un elenco della disponibilità delle opzioni di consumo per versione TPU, consulta Opzioni di consumo TPU.
Crea un'istanza VM TPU
I parametri utilizzati per creare un'istanza VM TPU dipendono dall'opzione di consumo che utilizzi: on demand, Spot, vincolata alla prenotazione o avvio flessibile. Per saperne di più, consulta Informazioni sui modelli di provisioning delle VM .
Crea un'istanza VM TPU on demand
Per creare un'istanza VM TPU on demand, utilizza il
gcloud compute instances create comando:
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 Google Cloud progetto.
- TPU_NAME: un nome per la tua VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il
--imageflag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b).
Crea un'istanza VM TPU Spot
Per creare un'istanza VM spot TPU, utilizza il
gcloud compute instances create comando
con il --provisioning-model=SPOT flag:
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 Google Cloud progetto.
- TPU_NAME: un nome per la tua VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il
--imageflag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
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 vincolata alla prenotazione,
utilizza il
gcloud compute instances create comando
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 Google Cloud progetto.
- TPU_NAME: un nome per la tua VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il
--imageflag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b). - RESERVATION_NAME: il nome della prenotazione.
Crea una VM TPU con avvio flessibile
Per creare un'istanza VM TPU con avvio flessibile, utilizza il
gcloud compute instances create comando
con il --provisioning-model=FLEX_START flag:
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 Google Cloud progetto.
- TPU_NAME: un nome per la tua VM TPU.
- MACHINE_TYPE: il tipo di macchina
per la VM TPU (ad esempio
ct6e-standard-8t). - IMAGE_FAMILY: la famiglia di immagini del sistema operativo
per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il
--imageflag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo. - IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo.
Per le immagini TPU, questo è
ubuntu-os-accelerator-images. - ZONE: la zona
per la VM TPU (ad esempio
us-central1-b). - MAX_RUN_DURATION: la durata massima di esecuzione per la VM TPU (ad esempio
6h). Per REST, specifica questo valore come numero di secondi (ad esempio21600per 6 ore). - VALID_DURATION: la durata massima per cui la
richiesta è valida. Per REST, specifica questo valore come numero di secondi (ad esempio
3600per 1 ora). la richiesta è valida.
Per saperne di più sulla creazione di istanze Compute Engine, consulta Crea e avvia un'istanza Compute Engine.
Limitazioni
Operazioni del ciclo di vita: non puoi arrestare, avviare, riprendere o sospendere le istanze TPU. Per modificare le configurazioni che richiedono un riavvio o per interrompere l'addebito, devi eliminare le istanze.
Aggiorna i dettagli della VM: puoi aggiornare le proprietà che richiedono solo un'azione di aggiornamento (
REFRESH). Se una configurazione richiede un riavvio (RESTART), devi ricreare l'istanza.
Passaggi successivi
- Connettiti a un'istanza TPU
- Visualizza i dettagli di un'istanza TPU
- Monitora le TPU
- Elimina un'istanza TPU