Como ativar TPUs

Nesta página, explicamos como ativar o suporte do Cloud TPU nos seus clusters existentes do Google Kubernetes Engine (GKE) sem migrar suas cargas de trabalho.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

Defina as configurações padrão da gcloud usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

Se você receber o erro One of [--zone, --region] must be supplied: Please specify location, conclua esta seção.

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar a gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine.

Como usar o gcloud config

  • Defina o ID do projeto padrão:
    gcloud config set project project-id
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone compute-zone
  • Se você estiver trabalhando com clusters regionais, defina a região do Compute padrão:
    gcloud config set compute/region compute-region
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Ative as seguintes APIs no Console do Google Cloud:

Requisitos e limitações

  • Seu cluster precisa ser um cluster nativo de VPC.
  • A versão do cluster do GKE precisa ser 1.13.4-gke-5 ou superior.
  • Seu cluster do GKE e os pools de nós precisam estar em uma zona em que o Cloud TPU esteja disponível. Além disso, os intervalos do Cloud Storage que contêm seus dados e modelos de treinamento precisam estar na mesma região que seu cluster do GKE.

    As zonas a seguir estão disponíveis:

    US

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
    v2-8 8 64 GiB us-central1-b
    us-central1-c
    us-central1-f
    v2-32 32 256 GiB us-central1-a
    v2-128 128 1 TiB us-central1-a
    v2-256 256 2 TiB us-central1-a
    v2-512 512 4 TiB us-central1-a
    Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Zonas disponíveis
    v3-8 8 128 GiB us-central1-a
    us-central1-b
    us-central1-f

    Europa

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
    v2-8 8 64 GiB europe-west4-a
    v2-32 32 256 GiB europe-west4-a
    v2-128 128 1 TiB europe-west4-a
    v2-256 256 2 TiB europe-west4-a
    v2-512 512 4 TiB europe-west4-a
    Tipo de TPU (v3) Núcleos de TPU v3 Memória total de TPU Zonas disponíveis
    v3-8 8 128 GiB europe-west4-a
    v3-32 32 512 GiB europe-west4-a
    v3-64 64 1 TiB europe-west4-a
    v3-128 128 2 TiB europe-west4-a
    v3-256 256 4 TiB europe-west4-a
    v3-512 512 8 TiB europe-west4-a
    v3-1024 1024 16 TiB europe-west4-a
    v3-2048 2048 32 TiB europe-west4-a

    Ásia-Pacífico

    Tipo de TPU (v2) Núcleos de TPU v2 Memória total de TPU Região/zona
    v2-8 8 64 GiB asia-east1-c

Como ativar o Cloud TPU em um cluster atual

gcloud

Ative o suporte do Cloud TPU no cluster atual:

gcloud beta container clusters update [CLUSTER_NAME] --enable-tpu

em que [CLUSTER_NAME] é o nome do cluster.

Atualize a entrada kubeconfig:

gcloud container clusters get-credentials [CLUSTER_NAME]

em que [CLUSTER_NAME] é o nome do cluster.

Como definir um intervalo CIDR personalizado

Por padrão, o GKE aloca um bloco CIDR com o tamanho de /20 para as TPUs provisionadas pelo cluster.

gcloud

Para especificar um intervalo CIDR personalizado para as TPUs:

gcloud beta container clusters update [CLUSTER_NAME] \
  --enable-tpu \
  --tpu-ipv4-cidr 10.100.0.0/20

em que 10.100.0.0/20 é o intervalo CIDR personalizado.

Visualizar as operações

A ativação do suporte do Cloud TPU inicia uma operação de atualização. Para clusters zonais, essa operação leva cerca de 5 minutos e, para clusters regionais, ela leva cerca de 15 minutos, dependendo da região do cluster.

gcloud

Para listar todas as operações concluídas e em execução no cluster, execute:

gcloud container operations list

Para mais informações sobre uma operação específica, execute:

gcloud container operations operations describe [OPERATION_ID]

em que [OPERATION_ID] é o ID de operações.

Como desativar o Cloud TPU

gcloud

Verifique se nenhuma de suas cargas de trabalho está usando o Cloud TPU:

kubectl get tpu

Desative o suporte do Cloud TPU no cluster:

gcloud beta container clusters update [CLUSTER_NAME] --no-enable-tpu

em que [CLUSTER_NAME] é o nome do cluster.

Para clusters zonais, essa operação leva cerca de 5 minutos e, para clusters regionais, ela leva cerca de 15 minutos, dependendo da região do cluster.

Depois que as operações forem concluídas sem erros, será possível verificar se as TPUs provisionadas pelo cluster foram removidas:

gcloud compute tpus list

Os nomes das TPUs criadas pelo GKE têm o formato: gke-<var>[CLUSTER_NAME]</var>-<var>[CLUSTER_ID]</var>-tpu-<var>[TPU_ID]</var>

Se alguma TPU aparecer, será possível excluí-las manualmente executando:

gcloud compute tpus delete gke-[CLUSTER_NAME]-[CLUSTER_ID]-tpu-[TPU_ID]

em que:

  • [CLUSTER_NAME] é o nome do cluster.
  • [CLUSTER_ID] é o ID do cluster.
  • [TPU_ID] é o ID da TPU.

A seguir