Monitorizar con la CLI tpu-info
La CLI tpu-info es una herramienta para detectar dispositivos TPU de Cloud y leer métricas del tiempo de ejecución de la biblioteca libtpu, como el uso de memoria y el ciclo de trabajo. Admite capturas estáticas y únicas, así como la transmisión en directo para monitorizar las métricas de forma continua.
Instalación
Instala la última versión con pip:
pip install tpu-info
También puedes instalar tpu-info desde la fuente:
pip install git+https://github.com/google/cloud-accelerator-diagnostics/#subdirectory=tpu_info
Si ya has instalado una versión de tpu-info, asegúrate de que sea compatible con tu entorno y de que no falten métricas ni funciones.
Para obtener más información, consulta Faltan funciones o métricas.
Acceder a métricas estándar de LibTPU mediante la CLI
Usa el siguiente comando para ver las métricas tpu-info predeterminadas con la CLI:
tpu-info
El resultado debería ser similar al siguiente:
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 │
└───────────────┴───────────────┴───────────────┴───────────────┘
Uso
Para ver los datos de utilización de la TPU, tpu-info requiere una carga de trabajo de TPU en ejecución con un framework de aprendizaje automático compatible, como JAX o PyTorch/XLA. Puedes ejecutar el comando tpu-info en tu terminal con las siguientes marcas.
Proceso
Usa la marca --process o -p para mostrar información sobre los procesos que se están ejecutando en la TPU.
$ tpu-info --process
La salida debería ser similar a la siguiente:
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étrica
Usa la marca --metric para mostrar métricas específicas. Puedes especificar varias métricas separadas por espacios. Estas son algunas de las métricas admitidas más habituales:
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
La salida debería ser similar a la siguiente:
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 │
└────────┴───────────────────────┘
Mostrar métricas
Usa la marca --list_metrics para mostrar todas las métricas admitidas que se pueden solicitar con la marca --metric.
$ tpu-info --list_metrics
La salida debería ser similar a la siguiente:
╭─ 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étricas de las emisiones
El modo de streaming actualiza periódicamente y muestra estadísticas de uso actualizadas. Para transmitir las métricas de LibTPU, añade la marca --streaming al comando tpu-info. Usa la marca --rate para controlar la cadencia de la transmisión en segundos.
Usa el siguiente comando para transmitir las métricas tpu-info predeterminadas con la CLI:
# Refresh metrics every 2 seconds
tpu-info --streaming --rate 2
El resultado debería ser similar al siguiente:
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étricas de TPU-Z
TPU-Z es una herramienta de telemetría y depuración para TPUs. Proporciona información detallada sobre el estado del tiempo de ejecución de todos los núcleos de TPU conectados a un host. Esta funcionalidad se proporciona a través del módulo tpuz, que forma parte del módulo libtpu.sdk del SDK de Python libtpu. El módulo proporciona una captura del estado de cada núcleo.
El principal caso práctico de TPU-Z es diagnosticar bloqueos o interbloqueos en cargas de trabajo de TPU distribuidas. Puedes consultar el servicio TPU-Z en los hosts para capturar el estado de cada núcleo, comparar los contadores de programa, las ubicaciones de HLO y los IDs de ejecución de todos los núcleos para identificar anomalías.
Usa el siguiente comando para ver las métricas de TPU-Z con la CLI:
tpu-info --metric core_state
tpu-info --metric sequencer_state
tpu-info --metric sequencer_state_detailed
tpu-info --metric queued_program
El resultado debe incluir las tablas core_state, sequencer_state, sequencer_state_detailed y queued_programs.
Información básica sobre el estado
La tabla Información del estado principal (core_state) proporciona información sobre los núcleos de un chip determinado. Las TPUs tienen uno o dos núcleos por chip, según la generación.
| Campo | Descripción | Valores de ejemplo |
|---|---|---|
| ID de chip | El ID del chip al que pertenece el núcleo. | 0 |
| ID de Global Core | ID único del núcleo en todo el sistema de TPU. | 1 |
| Tipo de núcleo | Tipo de núcleo de TPU. | "TPU_CORE_TYPE_TENSOR_CORE""TPU_CORE_TYPE_SPARSE_CORE" |
| xdb Server Running | Indica si el servidor de depuración de aceleradores (XDB) se está ejecutando en un core de TPU específico. | True |
La salida debería ser similar a la siguiente tabla:
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 │
└──────────────┴───────────────┴─────────────────────────────┴───────────────┘
Información del estado del secuenciador
La tabla de información de estado del secuenciador (sequencer_state) proporciona información sobre el estado de un secuenciador en un núcleo. Un secuenciador es una unidad de control dentro de un núcleo de TPU responsable de obtener, decodificar y coordinar la ejecución de instrucciones. Puede haber varios secuenciadores para un solo núcleo.
| Métrica | Descripción | Valores de ejemplo |
|---|---|---|
| ID de chip | El ID del chip al que pertenece el núcleo. | 0 |
| ID de Global Core | ID único del núcleo en todo el sistema de TPU. | 1 |
| Contador de programa | Dirección de memoria de la instrucción que debe ejecutar el secuenciador. | 15390 |
| Tracemark | ID de lanzamiento del programa actual o más reciente. Este campo no aparece si no es aplicable. | 2147483647 |
| ID del programa | El ID asociado a una instancia específica de un programa que se inicia para ejecutarse en un núcleo de TPU. | 3230481660274331500 |
| ID de ejecución | ID de ejecución asociado al programa. | 1150 |
| Tipo de secuencia | El tipo de secuenciador. | "TPU_SEQUENCER_TYPE_SPARSE_CORE_SEQUENCER""TPU_SEQUENCER_TYPE_SPARSE_CORE_TILE_EXECUTE_CORE_SEQUENCER" |
La salida debería ser similar a la siguiente tabla:
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 │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────┘
Información de estado del secuenciador (detallada)
La tabla Información detallada del estado del secuenciador (sequencer_state_detailed) proporciona toda la información de la tabla Información del estado del secuenciador (sequencer_state), junto con las siguientes métricas adicionales:
| Métrica | Descripción | Valores de ejemplo |
|---|---|---|
| Detalles de HLO | Información detallada sobre el HLO, si está disponible. | [] |
| ID de ejecución de programa en cola | ID de ejecución de este programa en cola. | 81 |
| ID de lanzamiento de programa en cola | ID de lanzamiento de este programa en cola. | 1394130914 |
| Error principal | Contiene los mensajes de error de este elemento principal. Este campo no aparece si no hay errores. | "Failed to parse launch id: 0xdcf36153" |
| Ubicación de HLO | Información de ubicación del optimizador de alto nivel (HLO). | "no HLO mapping""HLO: fusion.11; HLO computation: main.126_spmd" |
La salida debería ser similar a la siguiente tabla:
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 │
│ ... │ ... │ │ ... │ ... │ ... │ ... │ ... │... │ ... │
└─────────┴────────────────┴─────────────────┴────────────┴──────────────────────┴────────┴──────────────────────────────────────────┴──────────────────────────────────────────┴────────────────┴─────────────┘
Programas en cola
La tabla Programas en cola (queued_programs) muestra la lista de programas que están en cola para ejecutarse.
| Métrica | Descripción | Valores de ejemplo |
|---|---|---|
| ID de chip | El ID del chip al que pertenece el núcleo. | 0 |
| Global Core | ID único del núcleo en todo el sistema de TPU. | 1 |
| Contador de programa:etiqueta | Dirección de memoria de la instrucción que debe ejecutar el secuenciador. | 15390 |
| Tracemark | ID de lanzamiento del programa actual o más reciente. Este campo no aparece si no es aplicable. | 2147483647 |
| ID del programa | El ID asociado a una instancia específica de un programa que se inicia para ejecutarse en un núcleo de TPU. | 3230481660274331500 |
| ID de ejecución | ID de ejecución asociado al programa. | 1150 |
| Tipo de secuencia | El tipo de secuenciador. | "\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|
│ ... │ ... │ ... │ ... │ ... │ ... │ ... │
└━━━━━━┴━━━━━━━┴━━━━━━━━━━━━━━━┴━━━━━━━━━━━┴━━━━━━━━━━━━━┴━━━━━━━┴────────────────────────────────────┘
Faltan funciones o métricas
Si no puede ver algunas funciones o métricas, lo más probable es que esté usando una versión libtpu obsoleta. Las funciones y métricas de tpu-info se incluyen en las versiones de libtpu, y es posible que las versiones obsoletas no tengan las nuevas funciones y métricas.
Para comprobar que la versión de tpu-info es compatible con tu entorno, usa la marca --version o -v:
$ tpu-info --version
En el siguiente resultado se muestra un ejemplo de un entorno compatible:
- tpu-info version: 0.5.1
- libtpu version: 0.0.18
- accelerator type: v6e
En el siguiente resultado se muestra un ejemplo de un entorno incompatible:
- tpu-info version: 0.5.1
- libtpu version: N/A (incompatible environment)
- accelerator type: N/A (incompatible environment)
Si utilizas una versión obsoleta, actualiza a la versión más reciente de libtpu:
pip install --upgrade libtpu