Gestire le risorse TPU
Questa pagina descrive come creare, elencare, interrompere, avviare, eliminare e connetterti alle Cloud TPU utilizzando l'API Create Node. L'API Create Node viene chiamata quando esegui il comando gcloud compute tpus tpu-vm create
utilizzando Google Cloud CLI e quando crei una TPU utilizzando la console Google Cloud. Quando utilizzi l'API Create Node, la richiesta viene elaborata immediatamente. Se la capacità non è sufficiente per soddisfare la richiesta, la richiesta non andrà a buon fine.
La best practice è creare TPU utilizzando risorse in coda anziché l'API Create Node. Quando richiedi le risorse in coda, la richiesta viene aggiunta a una coda gestita dal servizio Cloud TPU. Quando la risorsa richiesta diventa disponibile, viene assegnata al tuo progetto Google Cloud per il tuo uso esclusivo immediato. Per maggiori informazioni, consulta Gestire le risorse in coda.
Quando utilizzi Multislice, devi utilizzare le risorse in coda. Per ulteriori informazioni, consulta la sezione Introduzione a Multislice.
Se vuoi utilizzare Google Kubernetes Engine (GKE) per gestire le risorse TPU, devi prima creare un cluster GKE. Aggiungi quindi al cluster i pool di nodi contenenti i slice TPU. Per ulteriori informazioni, consulta la sezione Informazioni sulle TPU in GKE.
Prerequisiti
Prima di eseguire queste procedure, devi installare Google Cloud CLI, creare un progetto Google Cloud e abilitare l'API Cloud TPU. Per le istruzioni, consulta Configurare l'ambiente Cloud TPU.
Se utilizzi Google Cloud CLI, puoi eseguire i comandi utilizzando Cloud Shell, una VM Compute Engine o la tua macchina locale.
Cloud Shell ti consente di interagire con le Cloud TPU senza dover installare alcun software. Cloud Shell si disconnette dopo un periodo di
inattività. Se stai eseguendo comandi che richiedono molto tempo, ti consigliamo di installare Google Cloud CLI sulla tua macchina locale. Per ulteriori informazioni su Google Cloud CLI, consulta la sezione gcloud
Riferimento.
Creare una Cloud TPU utilizzando l'API Create Node
Puoi creare una Cloud TPU utilizzando gcloud
, la console Google Cloud o l'API Cloud TPU.
Quando crei una Cloud TPU, devi specificare l'immagine VM TPU (chiamata anche versione software TPU). Per determinare quale immagine VM utilizzare, consulta le immagini VM TPU.
Devi anche specificare la configurazione TPU in termini di TensorCore o chip TPU. Per ulteriori informazioni, consulta la sezione relativa alla versione della TPU in uso in Architettura di sistema.
gcloud
Per creare una TPU utilizzando l'API Create Node, utilizza il comando gcloud compute tpus tpu-vm create
.
Per configurare indirizzi IP interni o esterni specifici, consulta le istruzioni riportate in Indirizzi IP interni ed esterni.
Il seguente comando utilizza una configurazione TPU v4-8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu-software-version
Descrizioni dei flag dei comandi
zone
- La zona in cui prevedi di creare la Cloud TPU.
accelerator-type
- Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per ulteriori informazioni sui tipi di acceleratori supportati per ogni versione di TPU, consulta Versioni TPU.
version
- La versione del software TPU.
shielded-secure-boot
(facoltativo)- Specifica che le istanze TPU vengono create con l'avvio protetto abilitato. Ciò le rende implicitamente istanze Shielded VM. Consulta Che cos'è una Shielded VM? per ulteriori informazioni.
Il seguente comando crea una TPU con una topologia specifica:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --type=v4 \ --topology=2x2x1 \ --version=tpu-software-version
Flag obbligatori
tpu-name
- Il nome della VM TPU che stai creando.
zone
- La zona in cui stai creando la Cloud TPU.
type
- La versione della TPU che vuoi utilizzare. Per maggiori informazioni, consulta la sezione Versioni TPU.
topology
- La disposizione fisica dei chip TPU, che specifica il numero di chip in ogni dimensione. Per ulteriori informazioni sulle topologie supportate per ogni versione di TPU, consulta Versioni TPU.
version
- La versione software della TPU che vuoi utilizzare. Per ulteriori informazioni, consulta Versioni software delle TPU.
Console
Nella console Google Cloud, vai alla pagina TPU:
Fai clic su Crea TPU.
Nel campo Nome, inserisci un nome per la TPU.
Nella casella Zona, seleziona la zona in cui creare la TPU.
Nella casella Tipo TPU, seleziona un tipo di acceleratore. Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per ulteriori informazioni sui tipi di acceleratori supportati per ogni versione di TPU, consulta Versioni di TPU.
Nella casella Versione software TPU, seleziona una versione software. Quando crei una VM Cloud TPU, la versione software TPU specifica la versione del runtime TPU da installare. Per ulteriori informazioni, consulta Immagini VM TPU.
Fai clic su Crea per creare le risorse.
curl
Il seguente comando utilizza curl
per creare una TPU.
$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d "{accelerator_type: 'v4-8', \ runtime_version:'tpu-vm-tf-2.18.0-pjrt', \ network_config: {enable_external_ips: true}, \ shielded_instance_config: { enable_secure_boot: true }}" \ https://tpu.googleapis.com/v2/projects/project-id/locations/us-central2-b/nodes?node_id=node_name
Campi obbligatori
runtime_version
- La versione runtime di Cloud TPU che vuoi utilizzare.
project
- Il nome del progetto Google Cloud registrato.
zone
- La zona in cui stai creando la Cloud TPU.
node_name
- Il nome della VM TPU che stai creando.
Esegui uno script di avvio
Puoi eseguire uno script di avvio su ogni VM TPU specificando il flag --metadata startup-script
durante la creazione della VM TPU. Il comando seguente crea una VM TPU utilizzando uno script di avvio.
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=tpu-type \ --version=tpu-vm-tf-2.18.0-pjrt \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Connettiti a una Cloud TPU
gcloud
Connettiti alla tua Cloud TPU tramite SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Quando richiedi un segmento più grande di un singolo host, Cloud TPU crea una VM TPU per ogni host. Il numero di chip TPU per host dipende dalla versione di TPU.
Per installare i binari o eseguire il codice, connettiti a ogni VM TPU utilizzando
tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name
Per connetterti a una VM TPU specifica tramite SSH, utilizza il flag --worker
che segue un indice basato su 0:
$ gcloud compute tpus tpu-vm ssh tpu-name --worker=1
Per eseguire un comando su tutte le VM TPU con un unico comando, utilizza i flag --worker=all
e --command
:
$ gcloud compute tpus tpu-vm ssh tpu-name \ --project=your_project_ID \ --zone=zone \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html'
Per Multislice, puoi eseguire un comando su una singola VM utilizzando il nome della TPU enumerata, con ogni prefisso della sezione e il numero aggiunto. Per eseguire un
comando su tutte le VM TPU in tutti i slice, utilizza i flag --node=all
, --worker=all
e
--command
, con un flag optional
--batch-size
.
$ gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --project=project_ID \ --zone=zone \ --node=all \ --worker=all \ --command='pip install "jax[tpu]==0.4.20" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html' \ --batch-size=4
Console
Per connetterti alle TPU nella console Google Cloud, utilizza SSH nel browser:
Nella console Google Cloud, vai alla pagina TPU:
Nell'elenco delle VM TPU, fai clic su SSH nella riga della VM TPU a cui vuoi connetterti.
Elenca le risorse Cloud TPU
Puoi elencare tutte le tue Cloud TPU in una zona specificata.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Console
Nella console Google Cloud, vai alla pagina TPU:
Recuperare informazioni sulla tua Cloud TPU
Puoi recuperare informazioni su una Cloud TPU specifica.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Console
Nella console Google Cloud, vai alla pagina TPU:
Fai clic sul nome della tua Cloud TPU. La console mostra la pagina dei dettagli di Cloud TPU.
Interrompi le risorse Cloud TPU
Puoi arrestare una singola Cloud TPU per interrompere gli addebiti senza perdere la configurazione e il software della VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Console
Nella console Google Cloud, vai alla pagina TPU:
Seleziona la casella di controllo accanto alla tua Cloud TPU.
Fai clic su
Interrompi.
Avvia le risorse Cloud TPU
Puoi avviare una Cloud TPU quando è arrestata.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Console
Nella console Google Cloud, vai alla pagina TPU:
Seleziona la casella di controllo accanto alla tua Cloud TPU.
Fai clic su
Avvia.
Eliminare una Cloud TPU
Elimina i tuoi slice VM TPU al termine della sessione.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --project=project-id \ --zone=zone \ --quiet
Descrizioni dei flag dei comandi
zone
- La zona in cui prevedi di eliminare la Cloud TPU.
Console
Nella console Google Cloud, vai alla pagina TPU:
Seleziona la casella di controllo accanto alla tua Cloud TPU.
Fai clic su
Elimina.