Domande frequenti - Cloud TPU

Questo documento contiene un elenco di domande frequenti sulle Cloud TPU. È suddiviso in sezioni:

  1. Domande frequenti indipendenti dal framework: domande sull'utilizzo delle Cloud TPU indipendentemente dal framework ML che utilizzi.
  2. Domande frequenti su JAX: domande sull'utilizzo di Cloud TPU con JAX.
  3. Domande frequenti su PyTorch: domande sull'utilizzo di Cloud TPU con PyTorch.

Domande frequenti sui framework indipendenti

Come faccio a controllare quale processo sta utilizzando la TPU su una VM Cloud TPU?

Esegui tpu-info sulla VM Cloud TPU per stampare l'ID di processo e altre informazioni sul processo che utilizza la TPU. Consulta le metriche supportate per le metriche e le relative definizioni.

   tpu-info

L'output di tpu-info è simile al seguente:

   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 |
   └─────────────┴─────┴─────┴─────┴──────┘

Come faccio ad aggiungere un volume disco permanente a una VM Cloud TPU?

Per ulteriori informazioni, consulta Collega l'archiviazione a blocchi durevole a una VM TPU.

Per saperne di più, consulta Opzioni di archiviazione di Cloud TPU.

Domande frequenti su JAX

Come faccio a sapere se la TPU viene utilizzata dal mio programma?

Esistono diversi modi per verificare che JAX utilizzi la TPU:

  1. Utilizza la funzione jax.devices(). Ad esempio:

    assert jax.devices()[0].platform == 'tpu'
    
  2. Profila il programma e verifica che il profilo contenga operazioni TPU. Per saperne di più, consulta Profilazione dei programmi JAX

Per saperne di più, consulta le domande frequenti su JAX

Domande frequenti su PyTorch

Come faccio a sapere se la TPU viene utilizzata dal mio programma?

Puoi verificare che PyTorch utilizzi la TPU con TorchTPU nei seguenti modi:

  1. Controlla il dispositivo acceleratore attivo in Python:

    import torch
    
    assert torch.accelerator.current_accelerator().type == "tpu"
    
  2. Profila il workload con torch.profiler e verifica che le operazioni TPU vengano visualizzate nella traccia.

Per ulteriori informazioni, consulta PyTorch su Cloud TPU e la documentazione di TorchTPU.