Skip to content
Make in India OEM · INR-transparent · Pan-India onsite SLATalk to sales: +91 720 794 8743Sign in

GPU Health on Day 1: DCGM Diagnostics, XID Errors and the Baseline to Record

How-to Updated 18 Aug 2026 · 7 min read

Overview

Day 1 of a new GPU cluster is the only time you will ever see the hardware in a known-clean state – so record it. A day-1 health baseline means every GPU has passed DCGM diagnostics at level 3 or 4, its ECC and row-remapping counters are captured, its sustained clocks and temperatures under load are logged, and its serials and firmware versions are inventoried. From then on, health is measured as drift from this baseline: a rising correctable-ECC count, a new XID in the logs, or a GPU clocking below its day-1 self are all early warnings that beat waiting for a training job to crash.

GPU Health on Day 1: DCGM Diagnostics, XID Errors and the Baseline to Record
What you’ll learn: what DCGM diagnostic levels 1-4 actually test, the XID error codes worth memorising and what to do about each, how ECC error counters and row remapping work on modern GPUs, and the exact fields to include in a per-GPU baseline record.

Key takeaways

  • Run dcgmi diag -r 3 on every GPU before production, and level 4 (adds a memtest-style memory pattern test, per NVIDIA’s DCGM documentation) at least once during commissioning.
  • XID errors are the GPU’s fault log: 48 (uncorrectable ECC), 63/64 (row-remap recorded/failed), 79 (GPU fell off the bus) and 94/95 (contained/uncontained memory errors) are hardware-significant; 13 and 31 are usually application bugs.
  • ECC counters come in volatile (since reset) and aggregate (lifetime) flavours – baseline the aggregate counts on day 1 so later growth is unambiguous.
  • Row remapping replaces bad memory rows with spares: a recorded remap (XID 63) is managed degradation, a pending remap needs a GPU reset window, and a failed remap (XID 64) is an RMA conversation.
  • Baseline performance, not just errors: per-GPU sustained clocks, HBM temperature and a short per-GPU benchmark under identical load expose throttlers and outliers that pass every functional test.

DCGM diagnostics: what each level tests

NVIDIA’s Data Center GPU Manager (DCGM) ships a layered diagnostic (dcgmi diag) documented in the DCGM user guide. Level 1 (-r 1) is a quick software and configuration sanity check (seconds). Level 2 adds PCIe and memory bandwidth tests (minutes). Level 3 adds sustained stress: targeted power, thermal and memory tests that catch marginal hardware (tens of minutes per GPU). Level 4, available since DCGM 2.4, adds a memtest-style pattern test over GPU memory – the closest thing to memtest86 for HBM. Commissioning practice: level 3 on every GPU as an acceptance gate, level 4 once during burn-in, and level 1 wired into the scheduler as a prologue/epilogue check. Archive the full JSON output per GPU, not a screenshot of “PASS”.

XID errors: the shortlist that matters

XIDs are error events the driver writes to the kernel log (dmesg) and DCGM surfaces; NVIDIA publishes the full XID catalogue. For commissioning and early life, the shortlist: XID 48 – double-bit (uncorrectable) ECC error; treat as hardware, expect a remap cycle or replacement. XID 63 – row remap recorded successfully; schedule the reset that activates it and watch for recurrence. XID 64 – row remap failed to record; the GPU cannot self-heal that address – open an RMA. XID 79 – GPU fell off the bus; on a new system this is usually PCIe seating, riser or power delivery, not the GPU die. XID 94/95 – contained/uncontained memory error on A100/H100-class parts; 95 means the job and possibly the node must restart. By contrast, XID 13 and 31 are typically illegal memory access by the application – a CUDA bug, not a hardware fault – and should not trigger a hardware swap. Community operations guides such as the ml-engineering debug notes track how operators triage these in practice.

ECC and row remapping, briefly

HBM on datacenter GPUs is ECC-protected: single-bit errors are corrected silently (counted as correctable), double-bit errors are detected and kill the affected computation (uncorrectable). Since A100, GPUs handle recurring faults by row remapping – swapping a weak memory row for one of a finite pool of spares, persisted in the InfoROM (see NVIDIA’s memory error management documentation). What this means operationally: correctable ECC counts are a trend signal, not an alarm – but a GPU whose correctable count climbs while its peers stay flat is announcing a future failure. Baseline aggregate counters on day 1 (nvidia-smi -q -d ECC,ROW_REMAPPER or DCGM fields), require zero pending remaps at acceptance, and write a policy now: how many remap events before you demand a swap under warranty, so the conversation with your vendor is about an agreed threshold rather than feelings.

Thermals, clocks and the performance baseline

A GPU can pass every functional test and still be a straggler. Under identical sustained load (HPL or a fixed benchmark), record for each GPU: steady-state SM clock, HBM temperature, hot-spot/junction temperature where exposed, board power, and any clock-throttle reasons flagged (nvidia-smi and DCGM expose throttle masks – thermal, power, and HW slowdown). On a healthy, well-cooled node all GPUs settle within a narrow band; one GPU clocking 5-10 percent lower is a cooling defect (bad paste, blocked airflow, cold-plate flow restriction) or a marginal part – exactly what burn-in exists to catch. This performance baseline also arms your monitoring: dcgm-exporter feeds the same fields to Prometheus, so day-2 dashboards can literally alert on “slower than day 1”, the operating practice covered in Day-2 operations for rack-scale AI.

The day-1 record: exactly what to archive

Per GPU: serial number and PCI address, VBIOS and InfoROM versions, driver and CUDA versions, DCGM diag level 3/4 JSON results, aggregate ECC counters, row-remap state (zero pending, remap history), sustained clock/temperature/power under the reference load, and NVLink status/error counters. Per node: BMC and NIC firmware, PCIe link width/generation per device, PSU health, and fabric port counters. Store it in version control or your CMDB next to the acceptance certificate – it is the reference every warranty claim and every “is this node slow?” question will be answered against, and it belongs in the integrator’s handover pack alongside the as-built documentation.

Day-1 health checks and thresholds

Check Command / source Acceptance value Action if failed
Full diagnostics dcgmi diag -r 3 (r 4 once) All tests pass, JSON archived Swap or waive in writing
Uncorrectable ECC nvidia-smi -q -d ECC / DCGM Zero (volatile and aggregate delta) Replace GPU
Row remapping nvidia-smi -q -d ROW_REMAPPER Zero pending; history documented Reset window or RMA (XID 64)
XID scan dmesg / DCGM events over burn-in No 48/63/64/79/94/95 events Triage per code before sign-off
Throttle check DCGM throttle reasons under load No thermal/HW slowdown at design ambient Fix cooling, re-test
Performance spread Fixed per-GPU benchmark Within ~5% of fleet median Investigate cooling/PCIe/part

Frequently asked questions

How long does DCGM level 3 take across a cluster?

Roughly 30-45 minutes per node depending on GPU count and generation, and it runs per-node in parallel, so a full cluster completes in under an hour of wall time with orchestration (pdsh, Ansible, or a scheduler job). Level 4’s memtest adds substantially more time – schedule it once inside the burn-in window rather than on every pass.

Is a single correctable ECC error a problem?

No – correctable errors are corrected, and occasional counts are normal at scale. What matters is the trend: a GPU accumulating correctable errors steadily faster than the fleet, or any uncorrectable error, or new row-remap activity. Baseline on day 1, then alert on rate of change rather than absolute counts.

Should I run GPU reset after a row remap immediately?

A recorded remap (XID 63) activates on the next GPU reset; until then the weak row is still in service. On a new cluster, drain the node and reset at the next convenient window – hours, not weeks. If remaps recur on the same GPU, or you see XID 64, stop resetting and start the warranty replacement process.

What monitoring should be live before production?

dcgm-exporter into Prometheus/Grafana (or your DCIM) with alerts on: any XID from the hardware shortlist, uncorrectable ECC, pending row remap, thermal throttle, GPU falling off the bus, and per-GPU performance deviation. Wire scheduler prologue checks (dcgmi diag -r 1) so unhealthy nodes are cordoned automatically rather than handed to the next job.

Do these checks differ for workstation-class GPUs?

The tooling shrinks but the principle holds. Workstation cards (RTX PRO class) expose ECC where enabled and basic health via nvidia-smi, but DCGM’s full diagnostic suite targets datacenter GPUs. For workstation fleets, baseline clocks, temperatures and a fixed benchmark per card, and rely on burn-in plus vendor diagnostics for memory testing.

Ready to deploy?

Talk to an RDP architect about power, cooling and lead time.

Request a Quote