Häufig gestellte Fragen – Cloud TPU

Dieses Dokument enthält eine Liste häufig gestellter Fragen zu Cloud TPUs. Es ist in mehrere Abschnitte unterteilt:

  1. Framework-unabhängige FAQs – Fragen zur Verwendung von Cloud TPUs unabhängig vom verwendeten ML-Framework
  2. Häufig gestellte Fragen zu JAX – Fragen zur Verwendung von Cloud TPUs mit JAX
  3. Häufig gestellte Fragen zu PyTorch – Fragen zur Verwendung von Cloud TPUs mit PyTorch

Framework-unabhängige FAQs

Wie kann ich prüfen, welcher Prozess die TPU auf einer Cloud TPU-VM verwendet?

Führen Sie auf der Cloud TPU-VM tpu-info aus, um die Prozess-ID und andere Informationen zum Prozess auszugeben, der die TPU involviert. Eine Liste der Messwerte und der entsprechenden Definitionen finden Sie unter unterstützte Messwerte.

   tpu-info

Die Ausgabe von tpu-info sieht in etwa so aus:

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

Wie füge ich einer Cloud TPU-VM ein nichtflüchtiges Speicher-Volume hinzu?

Weitere Informationen finden Sie unter Nichtflüchtigen Speicher zu einer TPU-VM hinzufügen.

Weitere Informationen finden Sie unter Cloud TPU-Speicheroptionen.

FAQs zu JAX

Woher weiß ich, ob die TPU von meinem Programm verwendet wird?

Es gibt mehrere Möglichkeiten, um zu prüfen, ob JAX die TPU verwendet:

  1. Verwenden Sie die Funktion jax.devices(). Beispiel:

    assert jax.devices()[0].platform == 'tpu'
    
  2. Erstellen Sie ein Profil für Ihr Programm und prüfen Sie, ob es TPU-Vorgänge enthält. Weitere Informationen finden Sie unter Profilerstellung für JAX-Programme.

Weitere Informationen finden Sie in den JAX-FAQs.

FAQs zu PyTorch

Woher weiß ich, ob die TPU von meinem Programm verwendet wird?

Sie können die folgenden Python-Befehle ausführen:

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

Und prüfen Sie zusätzlich, ob TPU-Geräte angezeigt werden.