Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Seeing four or eight GPUs in nvidia-smi does not mean an AI job is using all of them. Every device must receive work from the application, complete that work fast enough to stay busy, communicate with the other devices over an effective path, and be fed by the CPU, storage, and network. A low or uneven utilization reading is evidence to investigate—not a diagnosis.

Use this order: verify the execution model and process-to-device mapping; profile a complete iteration; check GPU-to-GPU topology and peer access; then investigate NUMA, IOMMU, PCIe ACS, containers, and network fabric. Change one thing at a time after you have a measured baseline.

What “all GPUs are not being used” can mean

The symptom covers several different situations. One process may have launched on only one device, all processes may be running but waiting for input, communication may be taking longer than computation, or the workload may simply be too small to fill a large accelerator. The correct fix depends on which condition is failing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Observed symptom Most likely area to check first
Only one GPU has memory allocated Application launch mode and device assignment
Every GPU has memory, but some are idle Input partitioning, CPU/data-loader time, or synchronization
All GPUs show activity but scaling is poor Communication path, topology, network, or synchronization overhead
Utilization is low for a tiny model or batch Workload size and whether multiple independent jobs would fit better
Performance changes in a VM or container Virtual PCI topology, mounted /sys, and peer-access constraints

Do not compare a utilization percentage from one workload with another as if it were a health score. A kernel-bound job can have high utilization and still scale badly; a CPU-bound job can have low utilization while the GPUs are functioning correctly.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

1. Confirm that the program actually launched a multi-GPU job

Identify the execution model

Start by naming the framework and mode: data-parallel training, model parallelism, an inference server, a custom process pool, or something else. “Multi-GPU” is not a universal switch, and a library that detects several devices may still choose one by default.

For PyTorch DistributedDataParallel (DDP), inspect the number of processes, each process’s rank, the world size, and the device selected by each rank. The PyTorch tutorial instructs each process to set its device before initializing the process group. Doing this in the wrong order can cause hangs or excessive memory use on GPU 0. The input pipeline should also use a distributed sampler, or an equivalent partitioning mechanism, so that ranks do not repeatedly process the same examples.

Check one-process-per-device assumptions

PyTorch’s distributed documentation recommends the NCCL backend for GPU distributed-training performance. With multiple NCCL processes on one machine, each process must have exclusive access to every GPU it uses. Accidentally assigning two ranks to one device can cause invalid usage or a deadlock, while leaving another device unassigned produces the appearance of an underused GPU. This guidance is specific to the framework, backend, and deployment you selected; do not apply it to an unrelated inference runtime without checking that runtime’s process model.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Record the launch command and environment that determines visible devices.
  • Print or log rank, world size, selected device, and local device index from every process.
  • Confirm that the number of intended workers matches the number of devices assigned to the job.
  • Verify that the sampler or input sharding gives each rank distinct work when using data parallelism.
  • Check that no second job, monitoring process, or stale worker owns a device needed by the run.

A machine-level inventory is only a hardware check. It proves that the operating system can see the GPUs, not that your application has created the processes and assignments required to use them.

2. Measure a complete iteration instead of guessing from utilization

Observe every GPU and the surrounding pipeline

Collect per-device utilization and memory over several representative steps, while also recording step time, data-loading time, CPU activity, and (for multi-node jobs) network behavior. A single instantaneous sample can catch a transient kernel and miss long input or synchronization waits.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

NVIDIA’s CUDA Graph performance guidance gives two practical observation examples:

  • nvidia-smi dmon -s u for a live view of utilization metrics.
  • nsys profile --gpu-metrics-devices=all to collect GPU metrics for a timeline profile.

These commands are diagnostic examples, not a universal utilization target. Use the timeline to locate the idle intervals between kernels and to determine whether the delay is in CPU launches, GPU execution, synchronization, data movement, or another part of the iteration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read the timeline as a causal record

If all devices show long gaps before kernels are launched, investigate the CPU launch path, Python or framework overhead, data preparation, and input delivery. If one rank reaches a collective operation early and waits for another rank, the slow rank’s computation or input path is the first suspect. If kernels occupy the GPUs continuously but the job still scales poorly, CPU launch optimization is unlikely to be the main answer; communication or the amount of useful work per step may dominate.

CUDA Graphs can reduce repeated CPU launch overhead only when the captured region contains that overhead and the workload is suitable for capture. Capturing a region outside the bottleneck leaves the original idle periods in place. Profile first, then decide whether graph capture or another optimization addresses the measured gap.

Use controlled comparisons

  1. Run a short single-GPU baseline with the same model, data, precision, and batch-size policy.
  2. Run the intended multi-GPU configuration for enough steps to include warm-up and steady state.
  3. Compare step time, samples processed per step, memory use, and the timeline—not just the peak utilization number.
  4. Change one variable, such as worker count, batch size, or process placement, and repeat the same measurement.

A multi-GPU run can have higher total throughput while each individual GPU reports a lower percentage than in a single-GPU run. The useful question is whether the measured work completed per unit time meets your objective.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

3. Check single-node GPU communication and topology

Inspect peer-to-peer paths

On an NCCL workload, examine peer-to-peer capability for the GPU pairs involved:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • nvidia-smi topo -p2p p checks PCIe peer-to-peer paths.
  • nvidia-smi topo -p2p n checks NVLink peer-to-peer paths.

NCCL favors peer-to-peer access when CUDA reports that direct access is available. An OK result is useful evidence that a peer path is exposed, but it does not validate every part of the system. Driver behavior, bridge configuration, IOMMU mode, container visibility, and the application’s selected transport can still affect performance.

Understand PCIe, NVLink, and topology limits

GPUs connected through different PCIe roots, switches, or sockets may have different path costs. NVLink can provide a direct path where the hardware supports it, while other pairs may communicate through PCIe. The topology command shows relationships; it does not promise a particular training speed. Use the profile to determine whether collective communication is actually consuming a significant part of each iteration.

Investigate IOMMU and ACS only when evidence points there

NCCL identifies bare-metal IOMMU settings and PCIe Access Control Services (ACS) as possible causes of broken or unexpectedly slow GPU peer-to-peer traffic. Check the kernel command line in /proc/cmdline and relevant kernel messages to establish the IOMMU state. Inspect PCI bridge configuration with lspci when ACS behavior is suspected.

Do not blindly disable a BIOS or kernel security feature. The correct setting depends on whether the host is bare metal, a virtual machine, or a container and on the operational requirements of that environment. NCCL notes that virtual machines have different ACS constraints; advice appropriate for a bare-metal host can be wrong for a VM.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Validate the view exposed to containers and VMs

NCCL uses /sys to discover PCI topology. Ensure that /sys is correctly mounted and that the container or virtual machine exposes a truthful PCI view. A virtualized or incomplete topology can make NCCL choose a suboptimal path even when the physical host has a better connection.

GPU-to-NIC GPUDirect RDMA is a separate path from GPU-to-GPU peer access. It requires compatible NICs and drivers plus either the nvidia-peermem module or a supported DMA-BUF configuration. A successful GPU peer matrix therefore does not prove that host-to-NIC transfers are correctly configured.

4. Diagnose multi-node jobs as a communication-and-locality problem

Separate computation from networking

When ranks span hosts, first determine whether the delay is local GPU work, inter-GPU communication within a host, or inter-node traffic. NCCL’s troubleshooting documentation separates GPU, networking, runtime/MPI, diagnostics, and performance-tuning paths for this reason. Start with the path that the timeline and logs implicate instead of changing collective or transport variables at random.

For InfiniBand environments, NCCL’s performance guidance names ib_write_bw and ib_write_lat as fabric tests. Use them only when that fabric and software stack apply, and interpret their results together with the application’s message sizes and collective pattern. A healthy point-to-point benchmark does not guarantee that a particular all-reduce configuration will scale well.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep ranks close to their GPU and NIC

NCCL advises placing the CPU cores and host memory used by each rank near its GPU and, in a multi-node job, near the NIC carrying that rank’s traffic. A rank that runs across a remote NUMA node can spend time moving data over the socket interconnect, making its GPU appear idle while another rank waits at synchronization.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
  • Record the GPU, CPU affinity, memory node, and NIC assigned to each rank.
  • Look for one host or one rank with consistently longer input or collective times.
  • Compare the placement policy between a fast and a slow run before changing NCCL tuning variables.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

5. Match the fix to the failure pattern

Pattern in logs or timeline Next diagnostic What not to assume
One rank owns all allocated memory Process count, visible-device mapping, and per-rank device selection That the driver is failing to use the other cards
Repeated CPU gaps before every kernel CPU launch, data preparation, worker starvation, and timeline traces That a faster interconnect will remove launch overhead
Long collective intervals with active GPUs before and after Peer matrix, topology, NCCL diagnostics, and network path That higher GPU utilization alone will improve scaling
One host or rank lags at every step NUMA, CPU affinity, NIC locality, and input delivery That all nodes have equivalent placement
Peer access fails in a VM or container IOMMU/ACS context, mounted /sys, and virtual PCI topology That a bare-metal ACS recommendation applies unchanged
All devices are lightly loaded with a small model Increase measured work per step or evaluate workload consolidation That distributed training is automatically more efficient

6. Tune only after you have a baseline

Once the bottleneck is identified, make one change and rerun the same comparison. Candidate changes may include correcting rank placement, fixing input sharding, improving CPU or NUMA locality, repairing a peer-access path, or addressing the network interface selected by the runtime. The NCCL troubleshooting map places diagnostics and system checks before performance tuning for a reason: environment variables can change transport selection and may help one topology while hurting another.

  • Save the framework and driver versions, launch configuration, topology output, and profiler trace for the baseline.
  • Change one setting at a time and record both throughput and step-time variance.
  • Recheck correctness after each change; a faster-looking run that duplicates or drops input is not an improvement.
  • Keep a rollback path for BIOS, kernel, container, and NCCL environment changes.

When the workload is simply too small

A large accelerator can be underused by a small model, small batch, short sequence, or low request rate even when the software is configured correctly. In that case, adding more GPUs may add synchronization and data-transfer overhead without creating enough computation to hide it.

NVIDIA describes Multi-Instance GPU (MIG) as a way to run multiple small workloads concurrently on separate GPU instances when a single large GPU is underutilized. MIG mode does not provide GPU-to-GPU peer-to-peer support and does not support multi-GPU or multi-node training. Treat it as a consolidation option for independent small workloads, not as a repair for a distributed training job that fails to engage every GPU.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A practical troubleshooting checklist

  1. State the context: framework and version, training or inference, single-node or multi-node, bare metal, VM, or container, and the GPU and NIC topology.
  2. Confirm launch: count processes, ranks, world size, visible devices, and per-rank device assignments.
  3. Confirm input partitioning: verify distributed sampling or the runtime’s equivalent sharding mechanism.
  4. Measure the whole iteration: capture per-GPU utilization and memory together with step time, CPU/data-loader behavior, and synchronization gaps.
  5. Inspect topology: run the relevant PCIe or NVLink peer checks and compare the result with the physical layout.
  6. Check system boundaries: examine IOMMU, ACS, mounted /sys, virtual PCI exposure, and GPUDirect RDMA prerequisites only when the evidence points there.
  7. For multiple hosts: test the applicable network fabric and verify rank-to-CPU, memory, GPU, and NIC locality.
  8. Change one thing: rerun the controlled baseline, verify correctness, and keep the change only if the measured objective improves.

What information is needed for a definitive diagnosis

No single command can explain every underused-GPU report. A reproducible diagnosis normally requires the framework and version, launch command, rank and device logs, GPU model and topology output, driver and CUDA/NCCL versions, per-device observations over a representative interval, profiler timeline, and—if applicable—the node, NUMA, NIC, and fabric configuration. Without that context, a recommendation to alter a kernel parameter, disable ACS, or force a transport is speculation rather than troubleshooting.

Bottom line

Multi-GPU utilization is a chain: the application must assign work, the input and CPU must keep ranks supplied, devices must communicate over usable paths, and the measurement must expose the real wait. Verify execution first, profile second, inspect topology and system configuration third, and tune only after the bottleneck is demonstrated. That sequence distinguishes a launch error from an input bottleneck, a communication fault, a locality problem, and a workload that is simply too small to benefit from more GPUs.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.