Gestire le risorse TPU
Questa pagina descrive come creare, elencare, arrestare, avviare, eliminare e connettersi 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 tua richiesta viene elaborata immediatamente. Se la capacità non è sufficiente
per soddisfare la tua richiesta, la richiesta non andrà a buon fine.
La best practice consiste nel creare TPU utilizzando le 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 utilizzo esclusivo immediato. Per maggiori informazioni, vedi Gestire le risorse in coda.
Quando utilizzi Multislice, devi utilizzare le risorse in coda. Per maggiori informazioni, consulta Introduzione a Multislice.
Se vuoi utilizzare Google Kubernetes Engine (GKE) per gestire le risorse TPU, devi prima creare un cluster GKE. Quindi aggiungi al cluster i pool di nodi contenenti slice TPU. Per maggiori informazioni, consulta la sezione Informazioni sulle TPU in GKE.
Prerequisiti
Prima di eseguire queste procedure, devi:
Installa Google Cloud CLI, crea un Google Cloud progetto e abilita l'API Cloud TPU. Per istruzioni, vedi Configurare l'ambiente Cloud TPU.
Se utilizzi una delle librerie client di Cloud, segui le istruzioni di configurazione per il linguaggio che stai utilizzando:
Per evitare di impostare il flag
--project
in ogni comando gcloud CLI, utilizza il comandogcloud config set
per impostare l'ID progetto nella configurazione attiva:gcloud config set project project-id
Sostituisci project-id con il nome del tuo progetto Google Cloud .
Crea 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 la versione software della TPU (chiamata anche versione runtime). Per determinare quale versione software devi utilizzare, consulta Versioni software TPU.
Devi anche specificare la configurazione TPU in termini di TensorCore o chip TPU. Per maggiori 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 in Indirizzi IP esterni e interni.
Il seguente comando utilizza una TPU v5litepod-8 (v5e):
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v5litepod-8 \ --version=tpu-software-version
Descrizioni dei flag dei comandi
zone
- La zona in cui prevedi di creare la tua Cloud TPU.
accelerator-type
- Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per saperne di più sui tipi di acceleratore supportati per ogni versione di TPU, consulta la sezione Versioni di 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.
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 di 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 acceleratore 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 maggiori informazioni, vedi Versioni software 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: 'v5litepod-8', \ runtime_version:'tpu-vm-tf-2.17.1-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-id
- 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.
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esegui uno script di avvio
gcloud
Puoi eseguire uno script di avvio su ogni VM TPU specificando il
flag --metadata startup-script
durante la creazione della VM TPU. Il seguente
comando crea una VM TPU utilizzando uno script di avvio.
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v5litepod-8 \ --version=tpu-software-version \ --metadata startup-script='#! /bin/bash pip3 install numpy EOF'
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Connettiti a una Cloud TPU
Puoi connetterti a una Cloud TPU utilizzando SSH.
Se non riesci a connetterti a una VM TPU utilizzando SSH, il problema potrebbe essere che la VM TPU non ha un indirizzo IP esterno. Per accedere a una VM TPU senza un indirizzo IP esterno, segui le istruzioni riportate in Connettersi a una VM TPU senza un indirizzo IP pubblico.
gcloud
Connettiti alla Cloud TPU tramite SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Quando richiedi una sezione 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 file binari o eseguire il codice, connettiti a ogni VM TPU utilizzando
tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Per connetterti a una VM TPU specifica
utilizzando SSH, utilizza il flag --worker
che segue un indice basato su 0:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone --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 \ --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 TPU enumerato, con il prefisso di ogni slice e il numero aggiunto. Per
eseguire un comando su tutte le VM TPU in tutte le sezioni, utilizza i flag --node=all
, --worker=all
e --command
, con un flag --batch-size
facoltativo.
$ gcloud compute tpus queued-resources ssh ${QUEUED_RESOURCE_ID} \ --zone=zone \ --node=all \ --worker=all \ --command='pip install jax[tpu] -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:
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
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.
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Arrestare 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.
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
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.
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Elimina una Cloud TPU
Elimina le sezioni della VM TPU al termine della sessione.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone \ --quiet
Descrizioni dei flag dei comandi
zone
- La zona in cui prevedi di eliminare la tua Cloud TPU.
quiet
- Disattiva tutte le richieste interattive durante l'esecuzione dei comandi gcloud CLI.
Console
Nella console Google Cloud , vai alla pagina TPU:
Seleziona la casella di controllo accanto alla tua Cloud TPU.
Fai clic su
Elimina.
Java
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per autenticarti in Cloud TPU, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.