Mit der tpu-info-Befehlszeile beobachten

Die tpu-info-Befehlszeile ist ein Tool zum Erkennen von Cloud TPU-Geräten und zum Lesen von Laufzeitmesswerten aus der libtpu-Bibliothek, einschließlich Arbeitsspeichernutzung und Auslastungsgrad. Sie unterstützt statische, einmalige Snapshots und Livestreaming, um Messwerte kontinuierlich zu beobachten.

Installation

Installieren Sie die neueste Version mit pip:

pip install tpu-info

Alternativ können Sie tpu-info aus der Quelle installieren:

pip install git+https://github.com/google/cloud-accelerator-diagnostics/#subdirectory=tpu_info

Wenn Sie bereits eine Version von tpu-info installiert haben, prüfen Sie, ob sie mit Ihrer Umgebung kompatibel ist und ob keine Messwerte und Funktionen fehlen. Weitere Informationen finden Sie unter Fehlende Funktionen oder Messwerte.

Über die Befehlszeile auf Standardmesswerte von LibTPU zugreifen

Verwenden Sie den folgenden Befehl, um die Standardmesswerte von tpu-info mit der Befehlszeile aufzurufen:

tpu-info

Die Ausgabe sieht etwa so aus:

TPU Chips
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Chip          Type          Devices  PID    ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━╕━━━━━━━━┩
│ /dev/vfio/0   TPU v6e chip  1        1052   │
│ /dev/vfio/1   TPU v6e chip  1        1052   │
│ /dev/vfio/2   TPU v6e chip  1        1052   │
│ /dev/vfio/3   TPU v6e chip  1        1052   │
└──────────────┴──────────────┴─────────┴────────┘
TPU Runtime Utilization
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Chip    HBM usage                 Duty cycle ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╕━━━━━━━━━━━━┩
│ 8       18.45 GiB / 31.25 GiB        100.00% │
│ 9       10.40 GiB / 31.25 GiB        100.00% │
│ 12      10.40 GiB / 31.25 GiB        100.00% │
│ 13      10.40 GiB / 31.25 GiB        100.00% │
└────────┴──────────────────────────┴────────────┘
TensorCore Utilization
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Core ID  TensorCore Utilization ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0                         13.60%│
│ 1                         14.81%│
│ 2                         14.36%│
│ 3                         13.60%│
└─────────┴────────────────────────┘
TPU Buffer Transfer Latency
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Buffer Size   P50           P90           P95           P999         ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━┩
│ 8MB+          108978.82 us  164849.81 us  177366.42 us  212419.07 us │
│ 4MB+          21739.38 us   38126.84 us   42110.12 us   55474.21 us  │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
TPU gRPC TCP Minimum RTT
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ P50       P90       P95       P999     ┃
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━┩
│ 35.99 us  52.15 us  53.83 us  55.51 us │
└──────────┴──────────┴──────────┴──────────┘
TPU gRPC TCP Delivery Rate
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ P50            P90            P95            P999          ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 12305.96 Mbps  18367.10 Mbps  24872.11 Mbps  44841.55 Mbps │
└───────────────┴───────────────┴───────────────┴───────────────┘

Nutzung

Um aktuelle Daten zur TPU-Auslastung aufzurufen, benötigt tpu-info eine laufende TPU-Arbeitslast mit einem unterstützten ML-Framework wie JAX oder PyTorch/XLA. Sie können den Befehl tpu-info in Ihrem Terminal mit den folgenden Flags ausführen.

Prozess

Verwenden Sie das Flag --process oder -p, um Informationen zu den Prozessen anzuzeigen , die auf der TPU ausgeführt werden.

$ tpu-info --process

Die Ausgabe sollte in etwa so aussehen:

TPU Process Info
┏━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Chip        ┃ PID    ┃ Process Name ┃
┡━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━┩
│ /dev/vfio/0 │ 799657 │ python3      │
│ /dev/vfio/1 │ 799657 │ python3      │
│ /dev/vfio/2 │ 799657 │ python3      │
│ /dev/vfio/3 │ 799657 │ python3      │
│ /dev/vfio/4 │ 799657 │ python3      │
│ /dev/vfio/5 │ 799657 │ python3      │
│ /dev/vfio/6 │ 799657 │ python3      │
│ /dev/vfio/7 │ 799657 │ python3      │
└─────────────┴────────┴──────────────┘

Messwert

Verwenden Sie das Flag --metric, um bestimmte Messwerte anzuzeigen. Sie können mehrere Messwerte angeben, die durch Leerzeichen getrennt sind. Einige häufig unterstützte Messwerte sind:

  • hbm_usage
  • duty_cycle_percent
  • tensorcore_utilization
  • buffer_transfer_latency
  • host_to_device_transfer_latency
  • device_to_host_transfer_latency
  • collective_e2e_latency
$ tpu-info --metric duty_cycle_percent hbm_usage

Die Ausgabe sollte in etwa so aussehen:

TPU Duty Cycle
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Core ID ┃ Duty Cycle (%) ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ 0       │ 100.00%        │
│ 1       │ 100.00%        │
│ 2       │ 100.00%        │
│ 3       │ 100.00%        │
│ 4       │ 100.00%        │
│ 5       │ 100.00%        │
│ 6       │ 100.00%        │
│ 7       │ 100.00%        │
└─────────┴────────────────┘
TPU HBM Usage
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip   ┃ HBM Usage (GiB)       ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0      │ 29.50 GiB / 31.25 GiB │
│ 1      │ 21.50 GiB / 31.25 GiB │
│ 2      │ 21.50 GiB / 31.25 GiB │
│ 3      │ 21.50 GiB / 31.25 GiB │
│ 4      │ 21.50 GiB / 31.25 GiB │
│ 5      │ 21.50 GiB / 31.25 GiB │
│ 6      │ 21.50 GiB / 31.25 GiB │
│ 7      │ 21.50 GiB / 31.25 GiB │
└────────┴───────────────────────┘

Messwerte auflisten

Verwenden Sie das Flag --list_metrics, um alle unterstützten Messwerte anzuzeigen, die mit dem Flag --metric angefordert werden können.

$ tpu-info --list_metrics

Die Ausgabe sollte in etwa so aussehen:

╭─ Supported Metrics ─────────────────────────────────────────────────────────────────────────────╮
│         grpc_tcp_min_rtt                                                                        │
│         host_to_device_transfer_latency                                                         │
│         grpc_tcp_delivery_rate                                                                  │
│         buffer_transfer_latency                                                                 │
│         collective_e2e_latency                                                                  │
│         device_to_host_transfer_latency                                                         │
│         hbm_usage                                                                               │
│         duty_cycle_percent                                                                      │
│         tensorcore_utilization                                                                  │
╰─────────────────────────────────────────────────────────────────────────────────────────────────╯

Messwerte streamen

Im Streamingmodus werden aktuelle Auslastungsstatistiken regelmäßig aktualisiert und angezeigt. Wenn Sie die LibTPU-Messwerte streamen möchten, fügen Sie dem Befehl tpu-info das Flag --streaming hinzu. Mit dem Flag --rate können Sie die Streamingfrequenz in Sekunden steuern.

Verwenden Sie den folgenden Befehl, um die Standardmesswerte von tpu-info mit der Befehlszeile zu streamen:

# Refresh metrics every 2 seconds
tpu-info --streaming --rate 2

Die Ausgabe sieht etwa so aus:

Refresh rate: 0.1s
Last update: 2025-07-24 11:00:59 UTC
Libtpu version: 0.0.19.dev20250721+nightly
Accelerator type: v6e

TPU Chips
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Chip         ┃ Type         ┃ Devices ┃ PID    ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╢━━━━━━━━━╢━━━━━━━━┪
│ /dev/vfio/0  │ TPU v6e chip │ 1       │ 1022   │
│ /dev/vfio/1  │ TPU v6e chip │ 1       │ 1022   │
│ /dev/vfio/2  │ TPU v6e chip │ 1       │ 1022   │
│ /dev/vfio/3  │ TPU v6e chip │ 1       │ 1022   │
└──────────────┴──────────────┴─────────┴────────┘
TPU Runtime Utilization
┏━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
┃ Chip   ┃ HBM usage                ┃ Duty cycle ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━╕━━━━━━━━━━━━┩
│ 8      │ 17.26 GiB / 31.25 GiB    │    100.00% │
│ 9      │  9.26 GiB / 31.25 GiB    │    100.00% │
│ 12     │  9.26 GiB / 31.25 GiB    │    100.00% │
│ 13     │  9.26 GiB / 31.25 GiB    │    100.00% │
└────────┴──────────────────────────┴────────────┘
TensorCore Utilization
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Core ID ┃ TensorCore Utilization ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0       │                  15.17%│
│ 1       │                  14.62%│
│ 2       │                  14.68%│
│ 3       │                  15.14%│
└─────────┴────────────────────────┘
TPU Buffer Transfer Latency
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Buffer Size  ┃ P50          ┃ P90          ┃ P95          ┃ P999         ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━╕━━━━━━━━━━━━━━┩
│ 8MB+         │ 18264.03 us  │ 33263.06 us  │ 35990.98 us  │ 53997.32 us  │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
TPU gRPC TCP Minimum RTT
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┓
┃ P50      ┃ P90      ┃ P95      ┃ P999     ┃
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━┩
│ 35.99 us │ 52.15 us │ 53.83 us │ 55.51 us │
└──────────┴──────────┴──────────┴──────────┘
TPU gRPC TCP Delivery Rate
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ P50           ┃ P90           ┃ P95           ┃ P999          ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 12305.96 Mbps │ 18367.10 Mbps │ 24872.11 Mbps │ 44841.55 Mbps │
└───────────────┴───────────────┴───────────────┴───────────────┘

TPU-Z-Messwerte

TPU-Z ist eine Telemetrie- und Debugging-Funktion für TPUs. Sie bietet detaillierte Laufzeitstatusinformationen für alle TPU-Kerne, die an einen Host angehängt sind. Die Funktion wird über das tpuz Modul bereitgestellt, das Teil des libtpu.sdk Moduls im libtpu Python SDK ist. Das Modul bietet einen Snapshot des Status jedes Kerns.

Der primäre Anwendungsfall für TPU-Z ist die Diagnose von Hängern oder Deadlocks in verteilten TPU-Arbeitslasten. Sie können den TPU-Z-Dienst auf Hosts abfragen, um den Status jedes Kerns zu erfassen und die Programmzähler, HLO-Standorte und Ausführungs-IDs aller Kerne zu vergleichen, um Anomalien zu erkennen.

Verwenden Sie den folgenden Befehl, um TPU-Z-Messwerte mit der Befehlszeile aufzurufen:

tpu-info --metric core_state
tpu-info --metric sequencer_state
tpu-info --metric sequencer_state_detailed
tpu-info --metric queued_program

Die Ausgabe sollte die core_state, sequencer_state, sequencer_state_detailed, und queued_programs Tabellen enthalten.

Informationen zum Kernstatus

Die Tabelle „Informationen zum Kernstatus“ (core_state) enthält Informationen zu den Kernen eines bestimmten Chips. TPUs haben je nach Generation einen oder zwei Kerne pro Chip.

Feld Beschreibung Beispielwerte
Chip-ID Die ID des Chips, zu dem der Kern gehört. 0
Globale Kern-ID Die eindeutige ID des Kerns im gesamten TPU-System. 1
Kern-Typ Der Typ des TPU-Kerns. "TPU_CORE_TYPE_TENSOR_CORE"
"TPU_CORE_TYPE_SPARSE_CORE"
xdb-Server wird ausgeführt Gibt an, ob der Accelerator Debugger (XDB)-Server auf einem bestimmten TPU-Kern ausgeführt wird. True

Die Ausgabe sollte in etwa so aussehen:

Core Information
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Chip ID      ┃ Global Core ID┃ Core Type                   ┃ xdb Server    ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ 0            │ 0             │ TPU_CORE_TYPE_TENSOR_CORE   │ True          │
│ 0            │ 1             │ TPU_CORE_TYPE_SPARSE_CORE   │ True          │
│ 1            │ 2             │ TPU_CORE_TYPE_SPARSE_CORE   │ False         │
│ 1            │ 3             │ TPU_CORE_TYPE_SPARSE_CORE   │ False         │
│ 2            │ 4             │ TPU_CORE_TYPE_SPARSE_CORE   │ True          │
│ 2            │ 5             │ TPU_CORE_TYPE_SPARSE_CORE   │ True          │
└──────────────┴───────────────┴─────────────────────────────┴───────────────┘

Informationen zum Sequenzerstatus

Die Tabelle „Informationen zum Sequenzerstatus“ (sequencer_state) enthält Informationen zum Status eines Sequenzers auf einem Kern. Ein Sequenzer ist eine Steuereinheit in einem TPU-Kern, die für das Abrufen, Decodieren und Orchestrieren der Ausführung von Anweisungen zuständig ist. Für einen einzelnen Kern können mehrere Sequenzer vorhanden sein.

Messwert Beschreibung Beispielwerte
Chip-ID Die ID des Chips, zu dem der Kern gehört. 0
Globale Kern-ID Die eindeutige ID des Kerns im gesamten TPU-System. 1
Programmzähler Die Speicheradresse der Anweisung, die vom Sequenzer ausgeführt werden soll. 15390
Tracemark Die Start-ID des aktuellen oder letzten Programms. Dieses Feld ist nicht vorhanden, wenn es nicht anwendbar ist. 2147483647
Programm-ID Die ID, die einer bestimmten Instanz eines Programms zugeordnet ist, das zur Ausführung auf einem TPU-Kern gestartet wird. 3230481660274331500
Ausführungs-ID Die Ausführungs-ID, die dem Programm zugeordnet ist. 1150
Sequenzertyp Der Typ des Sequenzers. "TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER"
"TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXECUTE_CORE_SEQUENCER"

Die Ausgabe sollte in etwa so aussehen:

Sequencer Info
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip ┃ Global┃ Program       ┃ Tracemark     ┃ Program ID    ┃ Run   ┃ Sequence Type                  ┃
┃ ID   ┃ Core  ┃ Counter:Tag   ┃               ┃               ┃ ID    ┃                                ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0    │ 0     │ 760:1         │ 2147483647    │ -5.75e17      │ 1150  │ TPU_SEQ_SPARSE_CORE_SEQUENCER  │
│ 0    │ 1     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 0    │ 1     │ 0:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 1    │ 2     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 1    │ 3     │ 0:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 1    │ 3     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 1    │ 3     │ 0:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 2    │ 4     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 2    │ 4     │ 0:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 2    │ 4     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 2    │ 5     │ 9:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
│ 2    │ 5     │ 0:0           │ 0             │ -1            │ -1    │ TPU_SEQ_SPARSE_TILE_EXECUTE    │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────┘

Informationen zum Sequenzerstatus (detailliert)

Die Tabelle „Informationen zum Sequenzerstatus (detailliert)“ (sequencer_state_detailed) enthält alle Informationen aus der Tabelle „Informationen zum Sequenzerstatus“ (sequencer_state) sowie die folgenden zusätzlichen Messwerte:

Messwert Beschreibung Beispielwerte
HLO-Details Detaillierte HLO-Informationen, falls verfügbar. []
Ausführungs-ID des Programms in der Warteschlange Die Ausführungs-ID für dieses Programm in der Warteschlange. 81
Start-ID des Programms in der Warteschlange Die Start-ID für dieses Programm in der Warteschlange. 1394130914
Kernfehler Enthält alle Fehlermeldungen für diesen Kern. Dieses Feld ist nicht vorhanden, wenn keine Fehler auftreten. "Failed to parse launch id: 0xdcf36153"
HLO-Standort Informationen zum Standort des High-Level-Optimierers (HLO). "no HLO mapping"
"HLO: fusion.11; HLO computation: main.126_spmd"

Die Ausgabe sollte in etwa so aussehen:

Sequencer States (Detailed)
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
┃ Chip ID ┃ Global Core ID ┃ Program Counter ┃ Tracemark  ┃ Program ID           ┃ Run ID ┃ Sequence Type                            ┃ Core Error                               ┃ HLO Location   ┃ HLO Details ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩
│ 0       │ 0              │ 760             │ 2147483647 │ -5752110712385440928 │ 114    │ TPU_SEQUENCER_TYPE_TENSOR_CORE_SEQUENCER │ Failed to parse launch id: 0xdcf36109    │ no HLO mapping │ []          │
│ 0       │ 1              │ 9               │ 0          │ -1                   │ -1     │ TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER │ Compiler metadata or executable          │ None           │ None        │
│         │                │                 │            │                      │        │                                          │ fingerprint not found.                   │                │             │
│ 0       │ 1              │ 0               │ 0          │ -1                   │ -1     │ TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXE… │ Compiler metadata or executable          │ None           │ None        │
│         │                │                 │            │                      │        │                                          │ fingerprint not found.                   │                │             │
│ 0       │ 1              │ 0               │ 0          │ -1                   │ -1     │ TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXE… │ Compiler metadata or executable          │ None           │ None        │
│ ...     │ ...            │                 │ ...        │ ...                  │ ...    │ ...                                      │ ...                                      │...             │ ...         │
└─────────┴────────────────┴─────────────────┴────────────┴──────────────────────┴────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┴─────────────┘

Programme in der Warteschlange

Die Tabelle „Programme in der Warteschlange“ (queued_programs) enthält die Liste der Programme, die zur Ausführung in die Warteschlange gestellt wurden.

Messwert Beschreibung Beispielwerte
Chip-ID Die ID des Chips, zu dem der Kern gehört. 0
Globaler Kern Die eindeutige ID des Kerns im gesamten TPU-System. 1
Programmzähler:Tag Die Speicheradresse der Anweisung, die vom Sequenzer ausgeführt werden soll. 15390
Tracemark Die Start-ID des aktuellen oder letzten Programms. Dieses Feld ist nicht vorhanden, wenn es nicht anwendbar ist. 2147483647
Programm-ID Die ID, die einer bestimmten Instanz eines Programms zugeordnet ist, das zur Ausführung auf einem TPU-Kern gestartet wird. 3230481660274331500
Ausführungs-ID Die Ausführungs-ID, die dem Programm zugeordnet ist. 1150
Sequenzertyp Der Typ des Sequenzers. "\ufffdU\ufffd4j\u7c6e\ufffd\ufffd{\u0017\ufffd\ufffdHHV\ufffdD\ufffde\uff"
Queued Programs
┏━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Chip ┃ Global┃ Program       ┃ Tracemark ┃ Program ID  ┃ Run   ┃ Sequence Type                      ┃
┃ ID   ┃ Core  ┃ Counter:Tag   ┃           ┃             ┃ ID    ┃                                    ┃
┡━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 0    │ 0     │ 10712385440928│ 1220      │ -5.75e17    │ 1220  │ \ufffdU\...ufffd{\u0017\...\ufffde |
│ 0    │ 1     │ 31435440272417│ 1530      │ -1          │ 1530  │ \ufff4j\...\ufffd{\u0017\...\ufffde|
│ 0    │ 1     │ 10230672051156│ 1410      │ -1          │ 1410  │ \ufffde\...\ufffd{\u0017\...\ufffde|
│ ...  │ ...   │ ...           │ ...       │ ...         │ ...   │ ...                                │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━┴━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────────┘

Fehlende Funktionen oder Messwerte

Wenn Sie einige Funktionen oder Messwerte nicht sehen können, ist die häufigste Ursache eine veraltete libtpu-Version. Die Funktionen und Messwerte in tpu-info sind in den libtpu-Releases enthalten. In veralteten Versionen fehlen möglicherweise neue Funktionen und Messwerte.

Verwenden Sie das --version oder -v Flag, um zu prüfen, ob die Version von tpu-info mit Ihrer Umgebung kompatibel ist:

$ tpu-info --version

Die folgende Ausgabe zeigt ein Beispiel für eine kompatible Umgebung:

-   tpu-info version: 0.5.1
-   libtpu version: 0.0.18
-   accelerator type: v6e

Die folgende Ausgabe zeigt ein Beispiel für eine inkompatible Umgebung:

-   tpu-info version: 0.5.1
-   libtpu version: N/A (incompatible environment)
-   accelerator type: N/A (incompatible environment)

Wenn Sie eine veraltete Version verwenden, aktualisieren Sie sie auf die neueste Version von libtpu:

pip install --upgrade libtpu