Gerenciar recursos de TPU
Esta página descreve como criar, listar, interromper, iniciar, excluir e se conectar a
TPUs do Cloud usando a API Create Node. A API Create Node é chamada quando você
executa o comando gcloud compute tpus tpu-vm create
usando a Google Cloud CLI
e quando cria uma TPU usando o console do Google Cloud. Quando você usa a API Create
Node, sua solicitação é processada imediatamente. Se não houver capacidade suficiente
para atender à solicitação, ela vai falhar.
A prática recomendada é criar TPUs usando recursos em fila em vez da API Create Node. Ao solicitar recursos enfileirados, a solicitação é adicionada a uma fila mantida pelo serviço do Cloud TPU. Quando o recurso solicitado fica disponível, ele é atribuído ao seu projeto do Google Cloud para uso exclusivo imediato. Para mais informações, consulte Gerenciar recursos na fila.
Ao usar o recurso Multislice, é necessário usar recursos em fila. Para mais informações, consulte Introdução às fatias múltiplas.
Se você quiser usar o Google Kubernetes Engine (GKE) para gerenciar recursos de TPU, primeiro crie um cluster do GKE. Em seguida, adicione pools de nós com fatias de TPU ao cluster. Para mais informações, consulte Sobre TPUs no GKE.
Pré-requisitos
Antes de executar esses procedimentos, instale a Google Cloud CLI, crie um projeto do Google Cloud e ative a API Cloud TPU. Para instruções, consulte Configurar o ambiente do Cloud TPU.
Se você estiver usando a Google Cloud CLI, poderá executar comandos usando o
Cloud Shell, uma VM do Compute Engine ou sua máquina local. O
Cloud Shell permite interagir com os Cloud TPUs sem precisar
instalar nenhum software. O Cloud Shell se desconecta após um período de
inatividade. Se você estiver executando comandos de longa duração, recomendamos instalar a
Google Cloud CLI na sua máquina local. Para mais informações sobre a
Google Cloud CLI, consulte a referência gcloud
.
Criar uma Cloud TPU usando a API Create Node
É possível criar um Cloud TPU usando gcloud
, o console do Google Cloud ou a API Cloud TPU.
Ao criar um Cloud TPU, você precisa especificar a imagem da VM do TPU (também chamada de versão do software da TPU). Para determinar qual imagem de VM usar, consulte Imagens de VM de TPU.
Você também precisa especificar a configuração da TPU em termos de TensorCores ou chips da TPU. Para mais informações, consulte a seção da versão de TPU que você está usando em Arquitetura do sistema.
gcloud
Para criar uma TPU usando a API Create Node, use o comando gcloud compute tpus tpu-vm create
.
Para configurar endereços IP internos ou externos específicos, consulte as instruções em
Endereços IP externos e internos.
O comando a seguir usa uma configuração de TPU v4-8:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --accelerator-type=v4-8 \ --version=tpu-software-version
Descrições de sinalizações de comando
zone
- A zona em que você planeja criar a Cloud TPU.
accelerator-type
- O tipo de acelerador especifica a versão e o tamanho da Cloud TPU que você quer criar. Para mais informações sobre os tipos de aceleradores compatíveis com cada versão de TPU, consulte Versões de TPU.
version
- A versão do software da TPU.
shielded-secure-boot
(opcional)- Especifica que as instâncias de TPU são criadas com a inicialização segura ativada. Isso as torna implicitamente instâncias de VM protegida. Consulte O que é VM protegida? para obter mais detalhes.
O comando a seguir cria uma TPU com uma topologia específica:
$ gcloud compute tpus tpu-vm create tpu-name \ --zone=us-central2-b \ --type=v4 \ --topology=2x2x1 \ --version=tpu-software-version
Flags obrigatórias
tpu-name
- O nome da VM da TPU que você está criando.
zone
- A zona em que você está criando o Cloud TPU.
type
- A versão da TPU que você quer usar. Para mais informações, consulte Versões da TPU.
topology
- A organização física dos chips de TPU, especificando o número de chips em cada dimensão. Para mais informações sobre as topologias compatíveis com cada versão de TPU, consulte Versões de TPU.
version
- A versão do software de TPU que você quer usar. Para mais informações, consulte Versões do software da TPU.
Console
No console do Google Cloud, acesse a página TPUs:
Clique em Criar TPU.
No campo Nome, insira um nome para a TPU.
Na caixa Zona, selecione a zona em que a TPU será criada.
Na caixa Tipo de TPU, selecione um tipo de acelerador. O tipo de acelerador especifica a versão e o tamanho do Cloud TPU que você quer criar. Para mais informações sobre os tipos de aceleradores compatíveis para cada versão de TPU, consulte Versões de TPU.
Na caixa Versão do software da TPU, selecione uma versão do software. Ao criar uma VM do Cloud TPU, a versão do software da TPU especifica a versão do ambiente de execução da TPU que será instalada. Para mais informações, consulte Imagens de VM de TPU.
Clique em Criar para criar os recursos.
curl
O comando a seguir usa curl
para criar uma 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
Campos obrigatórios
runtime_version
- A versão do ambiente de execução do Cloud TPU que você quer usar.
project
- O nome do seu projeto do Google Cloud inscrito.
zone
- A zona em que você está criando o Cloud TPU.
node_name
- O nome da VM da TPU que você está criando.
Executar um script de inicialização
É possível executar um script de inicialização em cada VM de TPU especificando a
flag --metadata startup-script
ao criar a VM de TPU. O comando a seguir
cria uma VM de TPU usando um script de inicialização.
$ 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'
Conectar-se a um Cloud TPU
gcloud
Conecte-se ao Cloud TPU usando SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone=zone
Quando você solicita uma fração maior que um único host, o Cloud TPU cria uma VM de TPU para cada host. O número de chips de TPU por host depende da versão da TPU.
Para instalar binários ou executar códigos, conecte-se a cada VM de TPU usando
o tpu-vm ssh command
.
$ gcloud compute tpus tpu-vm ssh tpu-name
Para se conectar a uma VM do TPU específica
usando SSH, use a flag --worker
que segue um índice baseado em 0:
$ gcloud compute tpus tpu-vm ssh tpu-name --worker=1
Para executar um comando em todas as VMs de TPU com um único comando, use as flags
--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'
Para Multislice, é possível executar um comando em uma única VM
usando o nome de TPU enumerado, com
cada prefixo de fatia e o número anexado a ele. Para executar um comando em todas as VMs de TPU em todas as frações, use as flags --node=all
, --worker=all
e --command
com uma flag opcional --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
Para se conectar às TPUs no console do Google Cloud, use o SSH no navegador:
No console do Google Cloud, acesse a página TPUs:
Na lista de VMs de TPU, clique em SSH na linha da VM de TPU a que você quer se conectar.
Listar seus recursos do Cloud TPU
É possível listar todos os Cloud TPUs em uma zona especificada.
gcloud
$ gcloud compute tpus tpu-vm list --zone=zone
Console
No console do Google Cloud, acesse a página TPUs:
Recuperar informações sobre o Cloud TPU
É possível recuperar informações sobre um Cloud TPU especificado.
gcloud
$ gcloud compute tpus tpu-vm describe tpu-name \ --zone=zone
Console
No console do Google Cloud, acesse a página TPUs:
Clique no nome do Cloud TPU. O console mostra a página de detalhes do Cloud TPU.
Interromper os recursos do Cloud TPU
É possível interromper um único Cloud TPU para interromper as cobranças sem perder a configuração e o software da sua VM.
gcloud
$ gcloud compute tpus tpu-vm stop tpu-name \ --zone=zone
Console
No console do Google Cloud, acesse a página TPUs:
Marque a caixa de seleção ao lado do seu Cloud TPU.
Clique em
Interromper.
Iniciar os recursos do Cloud TPU
É possível iniciar um Cloud TPU quando ele está parado.
gcloud
$ gcloud compute tpus tpu-vm start tpu-name \ --zone=zone
Console
No console do Google Cloud, acesse a página TPUs:
Marque a caixa de seleção ao lado do seu Cloud TPU.
Clique em
Iniciar.
Excluir um Cloud TPU
Exclua as fatias da VM da TPU no final da sessão.
gcloud
$ gcloud compute tpus tpu-vm delete tpu-name \ --project=project-id \ --zone=zone \ --quiet
Descrições de sinalizações de comando
zone
- A zona em que você planeja excluir o Cloud TPU.
Console
No console do Google Cloud, acesse a página TPUs:
Marque a caixa de seleção ao lado do seu Cloud TPU.
Clique em
Excluir.