nvidia-smi shows fewer GPUs than are installed. Which first step makes sense?
Why C is the answer
Check the hardware inventory, firmware and PCIe status, then reseat if needed
A missing GPU usually points at hardware or firmware visibility, so start at that layer.
In detail
- Start by comparing hardware inventory and logs with what you expect.
- Start at the hardware layer.
Use case
An illustrative scenario, not a real incident.
A server shows seven of eight GPUs, so a technician checks inventory and PCIe, and reseats one.
See it in different ways
flowchart TD
A["Symptom"] --> B{"GPU, fan, NIC or power?"}
B --> C["Check logs and sensors"]
C --> D["Run diagnostics"]
D --> E["Replace the failed part"]
E --> F["Run the tests again"]stateDiagram-v2 [*] --> Symptom Symptom --> Logs: Xid and BMC events Logs --> Diagnostics Diagnostics --> Replace Replace --> Retest Retest --> [*]
flowchart LR S0["Check inventory"] --> S1["Check firmware"] --> S2["Check PCIe"] --> S3["Reseat"]
Key point: Missing GPUs point to hardware or firmware.
Why the other options are wrong
- A. Replace the network switch and the cables to that node
- Network parts do not hide GPUs.
- B. Change the CUDA_VISIBLE_DEVICES value in the login shell
- That variable affects applications, not nvidia-smi.
- D. Reinstall the training framework and its CUDA libraries
- Frameworks do not hide GPUs from nvidia-smi.

