Contenido
Capítulo 3

Vigilar la flota

Telemetría, códigos de error y encontrar la única pieza rota

A escala, siempre hay algo fallando. Este capítulo trata de verlo: qué te pueden decir nvidia-smi y DCGM, cómo reporta fallas el driver mediante códigos Xid, qué significan los errores de memoria y cómo una sola GPU limitada puede frenar en silencio a otras mil.

3.1nvidia-smi

nvidia-smi habla con el driver a través de NVML. La tabla predeterminada muestra para cada GPU la temperatura, el consumo frente al límite, el uso de memoria, la utilización y los procesos que la usan.

Las vistas que responden preguntas reales

nvidia-smi                                   # resumen + procesos
nvidia-smi -q -d PERFORMANCE                 # ¿por qué están bajos los relojes? (event reasons)
nvidia-smi -q -d TEMPERATURE,POWER,ECC       # temperatura, límites de potencia, errores de memoria
nvidia-smi --query-gpu=index,temperature.gpu,clocks.sm,power.draw --format=csv
nvidia-smi topo -m                           # matriz de topología NVLink/PCIe/NIC
nvidia-smi nvlink -s                         # estado de cada enlace NVLink
sudo nvidia-smi -pl 500                      # fijar un límite de potencia

Advertencia: "GPU-Util" significa que había un kernel corriendo durante la ventana de muestreo. No significa que la GPU estuviera ocupada. Una GPU esperando en una barrera a un straggler sigue girando. Para métricas reales de saturación usa los campos de profiling de DCGM, como actividad de SM y de tensor pipes.

Checkpoint+50 XP30 XP si necesitas reintentar
Esta GPU consume 437 W mientras sus vecinas consumen ~650 W en el mismo trabajo. ¿Qué comando muestra *por qué*?
| N/A   85C    P0             437W / 700W |  70471MiB / 81560MiB |   98%      Default |
¿Qué opción de nvidia-smi fija un límite de potencia de GPU?

3.2Potencia y temperatura

Cada GPU tiene un límite de potencia (TDP; 700 W en la H100 SXM) y umbrales térmicos. Cuando superaría cualquiera de ellos, el firmware baja los relojes:

  • SW Power Cap: está consumiendo el límite configurado; los relojes bajan un poco. Suele ser intencional. Ver limitación de potencia.
  • HW Slowdown / HW Thermal Slowdown: un freno de emergencia, normalmente por sobrecalentamiento (ventilador fallido, flujo de aire bloqueado, aire de entrada caliente). Los relojes pueden bajar a la mitad.

En el entrenamiento síncrono, una sola GPU limitada se convierte en una ralentización de todo el clúster. Cada colectiva la espera. Eso es un straggler.

Dónde mirar

  • nvidia-smi -q -d PERFORMANCE muestra las "Clocks Event Reasons" (antes throttle reasons).
  • nvidia-smi -q -d TEMPERATURE muestra la temperatura actual, la de slowdown y la de apagado.
  • Campos de DCGM como DCGM_FI_DEV_GPU_TEMP, DCGM_FI_DEV_POWER_USAGE y la máscara de throttling de reloj alimentan las alertas.
EN VIVO Compromiso del límite de potencia (H100 a plena carga)
rendimientoenergía / token
40%60%80%100%300 W400 W500 W600 W700 Wlímite de potencia% sin límiterendimientoenergía / token91%
Rendimiento
91%
Potencia
79%
Energía por token
86%

Solo la parte limitada por cómputo de cada paso se frena con los relojes; la comunicación y la carga de datos no.

Checkpoint+50 XP30 XP si necesitas reintentar
¿Cuál es la causa más probable?
    Clocks Event Reasons
        SW Power Cap                      : Not Active
        HW Slowdown                       : Active
            HW Thermal Slowdown           : Active
En entrenamiento síncrono, una GPU baja al 55% de su reloj. El rendimiento de todo el trabajo queda aproximadamente en…

3.3Errores Xid

Un Xid es la forma del driver de decir "esta GPU tuvo un problema". Aparece en el log del kernel (dmesg, journalctl -k) como NVRM: Xid (PCI:0000:xx:00.0): <código>, .... Los mensajes los emite el driver del kernel, que puedes leer en open-gpu-kernel-modules de NVIDIA.

Códigos que todo operador de GPUs debería reconocer

XidSignificadoAcción típica
13, 31, 43Errores de la aplicación (acceso inválido a memoria, instrucción ilegal)Normalmente el código del usuario
48Error ECC no corregible (doble bit)Reset de la GPU, revisar row remapping, vigilar si se repite
63, 64Eventos de row remappingReset cuando esté libre; RMA si el remapeo falla
74Error de NVLinkRevisar enlaces, reasentar, correr nccl-tests
79La GPU se cayó del busDrain del nodo, reinicio, probablemente ticket de hardware
94, 95Error ECC contenido / no contenidoContenido: solo afecta a la app. No contenido: reset

Patrón de operación: alerta de Xid vía DCGM, drain del nodo en Slurm con el Xid en el motivo, requeue de los trabajos afectados desde sus checkpoints y luego diagnóstico fuera de línea.

Checkpoint+50 XP30 XP si necesitas reintentar
Encuentras esto en dmesg de node-2. ¿Cuál es la primera respuesta correcta?
NVRM: Xid (PCI:0000:9a:00.0): 79, pid='<unknown>', name=<unknown>, GPU has fallen off the bus.
Los Xid 13, 31 y 43 suelen apuntar a…

3.4Errores ECC y row remapping

Las GPUs de centro de datos protegen la HBM (y la SRAM del chip) con ECC:

  • Un bit (corregible): se corrige al vuelo y se cuenta. Un conteo que crece despacio es normal. Uno que crece rápido es una advertencia.
  • Doble bit (no corregible, DBE): el dato se pierde. La aplicación recibe un error (Xid 48 / 94 / 95) y la GPU normalmente necesita un reset.

A100 y posteriores usan row remapping: una fila de DRAM mala se reemplaza por una de repuesto en el siguiente reset de la GPU. nvidia-smi -q -d ECC muestra "Remapped Rows → Pending: Yes" hasta que hagas el reset. Si el remapeo falla (se agotaron los repuestos), hay que reemplazar la GPU.

Procedimiento: drain → esperar a que salgan los trabajos → nvidia-smi -r -i <gpu> → dcgmi diag -r 2 → volver a servicio si sale limpia.

Checkpoint+50 XP30 XP si necesitas reintentar
`nvidia-smi -q -d ECC` muestra Remapped Rows → Pending: Yes. ¿Qué se necesita?
Los errores ECC de un solo bit…

3.5DCGM

DCGM ejecuta un host engine (nv-hostengine) en cada nodo y expone:

  • Campos de telemetría: temperatura, potencia, relojes, ECC, contadores NVLink, eventos Xid y métricas de profiling (SM_ACTIVE, SM_OCCUPANCY, PIPE_TENSOR_ACTIVE, DRAM_ACTIVE).
  • Health watches que señalan problemas térmicos, de potencia, memoria, PCIe y NVLink.
  • Diagnósticos: dcgmi diag -r 1|2|3, desde chequeos rápidos de despliegue hasta pruebas de estrés. Corre el nivel 1 antes de que un nodo vuelva al pool y el nivel 3 después de trabajo de hardware.
  • dcgm-exporter para Prometheus, que alimenta paneles de Grafana y reglas de alerta.

Alertas que conviene tener desde el primer día

  • Cualquier evento Xid (los críticos despiertan a alguien).
  • HW thermal slowdown activo durante más de un minuto.
  • ECC no corregible o row remap pendiente.
  • GPU ocupada mientras el planificador no muestra ningún trabajo en ese nodo. Eso atrapa fugas y Cryptojacking en clústeres de GPU.
Checkpoint+50 XP30 XP si necesitas reintentar
¿Qué alerta atrapa tanto procesos huérfanos como mineros de criptomonedas?
Un nodo vuelve de una reparación de hardware. Antes de reincorporarlo al pool, ejecuta…

3.6Stragglers (rezagados)

Cada colectiva es una barrera. Si una de 1,024 GPUs va 40% más lenta (por throttling térmico, un enlace inestable, un vecino ruidoso o un disco lento en un nodo), las 1,024 van 40% más lentas.

Señales

  • El rendimiento cae sin errores en los logs.
  • La utilización por GPU parece invertida: el straggler muestra ~100% y las demás menos, porque esperan en la barrera.
  • El reloj de SM del straggler está bajo. nvidia-smi -q -d PERFORMANCE muestra HW Thermal Slowdown o SW Power Cap.
  • Los tiempos de NCCL o del framework muestran un rango que siempre llega tarde a las colectivas.

Respuesta: identificar, hacer drain, reiniciar desde un checkpoint en hardware sano y abrir un ticket de hardware. A escala, automatízalo: tiempos por rango continuos, relojes y temperaturas de DCGM y aislamiento automático.

Checkpoint+50 XP30 XP si necesitas reintentar
¿Qué GPU es el straggler?
index, utilization.gpu, clocks.sm
0, 61 %, 1980 MHz
1, 60 %, 1980 MHz
5, 99 %, 1089 MHz
6, 61 %, 1980 MHz
¿Por qué las GPUs sanas muestran *menor* utilización durante un evento de straggler?
◆ Misión jefe

Se cayó del bus

Un entrenamiento murió durante la noche. Encuentra la GPU mala, pon el nodo en cuarentena y vuelve a arrancar el trabajo.

🔒 Domina 3 sección(es) más de este capítulo para desbloquearlo.Jugar de todos modos
◆ Misión jefe

El carril lento

El rendimiento cayó a la mitad en 32 GPUs, pero nada falló. Encuentra al rezagado.

🔒 Domina 3 sección(es) más de este capítulo para desbloquearlo.Jugar de todos modos