Perguntas frequentes – Cloud TPU

Este documento contém uma lista de Perguntas frequentes sobre as TPUs na nuvem. Está dividido em secções:

  1. Perguntas frequentes independentes da framework: perguntas sobre a utilização de TPUs na nuvem, independentemente da framework de ML que estiver a usar.
  2. Perguntas frequentes sobre o JAX: perguntas sobre a utilização de TPUs na nuvem com o JAX.
  3. Perguntas frequentes sobre o PyTorch: perguntas sobre a utilização de TPUs na nuvem com o PyTorch.

Perguntas frequentes independentes da framework

Como posso verificar que processo está a usar a TPU numa VM da Cloud TPU?

Execute tpu-info na VM do TPU para imprimir o ID do processo e outras informações sobre o processo que usa o TPU. Consulte as métricas suportadas e as respetivas definições.

   tpu-info

A saída de tpu-info é semelhante à seguinte:

   TPU Chips
   ┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
   ┃ Chip        ┃ Type        ┃ Devices ┃ PID    ┃
   ┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
   │ /dev/accel0 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel1 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel2 │ TPU v4 chip │ 1       │ 130007 │
   │ /dev/accel3 │ TPU v4 chip │ 1       │ 130007 │
   └─────────────┴─────────────┴─────────┴────────┘

   TPU Runtime Utilization
   ┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
   ┃ Device ┃ Memory usage         ┃ Duty cycle ┃
   ┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
   │ 0      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 1      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 2      │ 0.00 GiB / 31.75 GiB │      0.00% │
   │ 3      │ 0.00 GiB / 31.75 GiB │      0.00% │
   └────────┴──────────────────────┴────────────┘

   TensorCore Utilization
   ┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
   ┃ Chip ID ┃ TensorCore Utilization ┃
   ┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
   │ 0       │                  0.00% │
   │ 1       │                  0.00% │
   │ 3       │                  0.00% │
   │ 2       │                  0.00% |
   └─────────┴────────────────────────┘

   Buffer Transfer Latency
   ┏━━━━━━━━━━━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┓
   ┃ Buffer Size ┃ P50 ┃ P90 ┃ P95 ┃ P999 ┃
   ┡━━━━━━━━━━━━━╇━━━━━╇━━━━━╇━━━━━╇━━━━━━┩
   │       8MB+  | 0us │ 0us │ 0us │  0us |
   └─────────────┴─────┴─────┴─────┴──────┘

Como posso adicionar um volume de disco persistente a uma VM da Cloud TPU?

Para mais informações, consulte o artigo Adicione um disco persistente a uma VM de TPU.

Para mais informações, consulte as opções de armazenamento do Cloud TPU.

Perguntas frequentes sobre o JAX

Como posso saber se a TPU está a ser usada pelo meu programa?

Existem algumas formas de verificar se o JAX está a usar a TPU:

  1. Use a função jax.devices(). Por exemplo:

    assert jax.devices()[0].platform == 'tpu'
    
  2. Crie um perfil do seu programa e verifique se o perfil contém operações de TPU. Para mais informações, consulte o artigo Criar perfis de programas JAX

Para mais informações, consulte as Perguntas frequentes sobre o JAX

Perguntas frequentes sobre o PyTorch

Como posso saber se a TPU está a ser usada pelo meu programa?

Pode executar os seguintes comandos Python:

>>> import torch_xla.core.xla_model as xm
>>> xm.get_xla_supported_devices(devkind="TPU")

Verifique se consegue ver algum dispositivo TPU.