Surveiller avec CLI de commande tpu-info
L'CLI tpu-info est un outil permettant de détecter les appareils Cloud TPU et de lire les métriques d'exécution de la bibliothèque libtpu, y compris l'utilisation de la mémoire et le cycle d'utilisation. Il prend en charge les instantanés statiques et ponctuels, ainsi que le streaming en direct pour surveiller les métriques en continu.
Installation
Installez la dernière version à l'aide de pip :
pip install tpu-info
Vous pouvez également installer tpu-info à partir de la source :
pip install git+https://github.com/google/cloud-accelerator-diagnostics/#subdirectory=tpu_info
Si vous avez déjà installé une version de tpu-info, assurez-vous qu'elle est compatible avec votre environnement et qu'il ne manque aucune métrique ni fonctionnalité.
Pour en savoir plus, consultez Fonctionnalités ou métriques manquantes.
Accéder aux métriques LibTPU standards à l'aide de la CLI
Exécutez la commande suivante pour afficher les métriques tpu-info par défaut avec la CLI :
tpu-info
Le résultat ressemble à ce qui suit :
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 │
└───────────────┴───────────────┴───────────────┴───────────────┘
Utilisation
Pour afficher les données d'utilisation actuelles des TPU, tpu-info nécessite une charge de travail TPU en cours d'exécution avec un framework de ML compatible, tel que JAX ou PyTorch/XLA. Vous pouvez exécuter la commande tpu-info dans votre terminal avec les indicateurs suivants.
Processus
Utilisez l'option --process ou -p pour afficher des informations sur les processus en cours d'exécution sur le TPU.
$ tpu-info --process
Le résultat doit ressembler à ce qui suit :
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 │
└─────────────┴────────┴──────────────┘
Métrique
Utilisez le flag --metric pour afficher des métriques spécifiques. Vous pouvez spécifier plusieurs métriques séparées par des espaces. Voici quelques-unes des métriques acceptées les plus courantes :
hbm_usageduty_cycle_percenttensorcore_utilizationbuffer_transfer_latencyhost_to_device_transfer_latencydevice_to_host_transfer_latencycollective_e2e_latency
$ tpu-info --metric duty_cycle_percent hbm_usage
Le résultat doit ressembler à ce qui suit :
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 │
└────────┴───────────────────────┘
Répertorier les statistiques
Utilisez l'indicateur --list_metrics pour afficher toutes les métriques compatibles qui peuvent être demandées avec l'indicateur --metric.
$ tpu-info --list_metrics
Le résultat doit ressembler à ce qui suit :
╭─ 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 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────╯
Métriques de flux
Le mode Streaming actualise périodiquement les statistiques d'utilisation et les affiche. Pour diffuser les métriques LibTPU, ajoutez l'indicateur --streaming à la commande tpu-info. Utilisez l'indicateur --rate pour contrôler la cadence du streaming en secondes.
Exécutez la commande suivante pour diffuser les métriques tpu-info par défaut avec la CLI :
# Refresh metrics every 2 seconds
tpu-info --streaming --rate 2
Le résultat ressemble à ce qui suit :
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 │
└───────────────┴───────────────┴───────────────┴───────────────┘
Métriques TPU-Z
TPU-Z est un outil de télémétrie et de débogage pour les TPU. Il fournit des informations détaillées sur l'état d'exécution de tous les cœurs TPU associés à un hôte. Cette fonctionnalité est fournie par le module tpuz, qui fait partie du module libtpu.sdk dans le SDK Python libtpu. Le module fournit un instantané de l'état de chaque cœur.
Le principal cas d'utilisation de TPU-Z consiste à diagnostiquer les blocages ou les impasses dans les charges de travail TPU distribuées. Vous pouvez interroger le service TPU-Z sur les hôtes pour capturer l'état de chaque cœur, en comparant les compteurs de programme, les emplacements HLO et les ID d'exécution sur tous les cœurs afin d'identifier les anomalies.
Exécutez la commande suivante pour afficher les métriques TPU-Z à l'aide de la CLI :
tpu-info --metric core_state
tpu-info --metric sequencer_state
tpu-info --metric sequencer_state_detailed
tpu-info --metric queued_program
Le résultat doit inclure les tables core_state, sequencer_state, sequencer_state_detailed et queued_programs.
Informations essentielles sur l'état
Le tableau des informations sur l'état des cœurs (core_state) fournit des informations sur les cœurs d'un chip donné. Les TPU comportent un ou deux cœurs par puce, selon la génération.
| Champ | Description | Exemples de valeur |
|---|---|---|
| ID de la puce | ID du chip auquel appartient le cœur. | 0 |
| ID principal global | Identifiant unique du cœur dans l'ensemble du système TPU. | 1 |
| Type de cœur | Type du cœur de TPU. | "TPU_CORE_TYPE_TENSOR_CORE""TPU_CORE_TYPE_SPARSE_CORE" |
| xdb Server Running | Indique si le serveur Accelerator Debugger (XDB) est en cours d'exécution sur un cœur de TPU spécifique. | True |
Le résultat doit ressembler au tableau suivant :
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 │
└──────────────┴───────────────┴─────────────────────────────┴───────────────┘
Informations sur l'état du séquenceur
Le tableau d'informations sur l'état du séquenceur (sequencer_state) fournit des informations sur l'état d'un séquenceur sur un cœur. Un séquenceur est une unité de contrôle au sein d'un cœur de TPU, chargée de récupérer, de décoder et d'orchestrer l'exécution des instructions. Un même cœur peut disposer de plusieurs séquenceurs.
| Métrique | Description | Exemples de valeur |
|---|---|---|
| ID de la puce | ID du chip auquel appartient le cœur. | 0 |
| ID principal global | ID unique du cœur dans l'ensemble du système TPU. | 1 |
| Compteur de programme | Adresse mémoire de l'instruction à exécuter par le séquenceur. | 15390 |
| Tracemark | ID de lancement du programme actuel ou le plus récent. Ce champ est absent s'il n'est pas applicable. | 2147483647 |
| ID du programme | ID associé à une instance spécifique d'un programme lancé pour exécution sur un cœur de TPU. | 3230481660274331500 |
| ID de l'exécution | ID d'exécution associé au programme. | 1150 |
| Type de séquence | Type de séquenceur. | "TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER""TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXECUTE_CORE_SEQUENCER" |
Le résultat doit ressembler au tableau suivant :
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 │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────┘
Informations détaillées sur l'état du séquenceur
Le tableau "Informations détaillées sur l'état du séquenceur" (sequencer_state_detailed) fournit toutes les informations du tableau "Informations sur l'état du séquenceur" (sequencer_state), ainsi que les métriques supplémentaires suivantes :
| Métrique | Description | Exemples de valeur |
|---|---|---|
| Détails du HLO | Informations détaillées sur le HLO, si disponibles. | [] |
| ID d'exécution du programme mis en file d'attente | ID d'exécution de ce programme mis en file d'attente. | 81 |
| ID de lancement de programme mis en file d'attente | ID de lancement de ce programme mis en file d'attente. | 1394130914 |
| Erreur de base | Contient les messages d'erreur pour ce cœur. Ce champ est absent si aucune erreur ne s'est produite. | "Failed to parse launch id: 0xdcf36153" |
| Emplacement HLO | Informations sur l'emplacement de l'optimiseur de haut niveau (HLO). | "no HLO mapping""HLO: fusion.11; HLO computation: main.126_spmd" |
Le résultat doit ressembler au tableau suivant :
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 │
│ ... │ ... │ │ ... │ ... │ ... │ ... │ ... │... │ ... │
└─────────┴────────────────┴─────────────────┴────────────┴──────────────────────┴────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┴─────────────┘
Programmes en file d'attente
Le tableau "Programmes mis en file d'attente" (queued_programs) fournit la liste des programmes mis en file d'attente pour exécution.
| Métrique | Description | Exemples de valeur |
|---|---|---|
| ID de la puce | ID du chip auquel appartient le cœur. | 0 |
| Global Core | ID unique du cœur dans l'ensemble du système de TPU. | 1 |
| Compteur de programme : tag | Adresse mémoire de l'instruction à exécuter par le séquenceur. | 15390 |
| Tracemark | ID de lancement du programme actuel ou le plus récent. Ce champ est absent s'il n'est pas applicable. | 2147483647 |
| ID du programme | ID associé à une instance spécifique d'un programme lancé pour exécution sur un cœur de TPU. | 3230481660274331500 |
| ID de l'exécution | ID d'exécution associé au programme. | 1150 |
| Type de séquence | Type de séquenceur. | "\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|
│ ... │ ... │ ... │ ... │ ... │ ... │ ... │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━┴━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────────┘
Fonctionnalités ou métriques manquantes
Si vous ne parvenez pas à afficher certaines fonctionnalités ou métriques, la cause la plus fréquente est une version obsolète de libtpu. Les fonctionnalités et les métriques de tpu-info sont incluses dans les versions libtpu. Il est possible que les versions obsolètes ne contiennent pas les nouvelles fonctionnalités et métriques.
Pour vérifier que la version de tpu-info est compatible avec votre environnement, utilisez l'option --version ou -v :
$ tpu-info --version
La sortie suivante montre un exemple d'environnement compatible :
- tpu-info version: 0.5.1
- libtpu version: 0.0.18
- accelerator type: v6e
La sortie suivante montre un exemple d'environnement incompatible :
- tpu-info version: 0.5.1
- libtpu version: N/A (incompatible environment)
- accelerator type: N/A (incompatible environment)
Si vous utilisez une version obsolète, passez à la dernière version de libtpu :
pip install --upgrade libtpu