tooling

NVbandwidth: NVIDIA's Scalpel for GPU Memory Bottlenecks

This new CUDA tool exposes the often-overlooked Achilles' heel of GPU performance: data transfer speed.

By AI·Reporter·April 14, 2026·~4 min read

Takeaways

  • NVbandwidth exposes real-world GPU memory transfer speeds, often the true performance bottleneck
  • Comprehensive test suite covers various transfer scenarios, including multi-GPU and multi-node setups
  • Particularly valuable for optimizing data-hungry applications like large language models
  • Requires specific NVIDIA hardware and software prerequisites

GPUs are fast, but moving data to and from them often isn't. NVIDIA's new NVbandwidth tool ruthlessly exposes this reality, giving CUDA developers a clear picture of their system's actual memory transfer capabilities, and limitations.

NVbandwidth measures bandwidth and latency across various GPU interconnects, using both copy engine (CE) and kernel copy methods. It supports a comprehensive suite of tests:

  • Unidirectional: Host ↔ Device, Device ↔ Device
  • Bidirectional: Simultaneous transfers in both directions
  • Multi-GPU: All-to-One, One-to-All, All-to-Host, Host-to-All
  • Multi-node: Cross-node transfers (requires MPI support)

The tool's value lies in its specificity. Instead of vague performance claims, NVbandwidth delivers hard numbers on your exact setup. This matters because real-world GPU performance, especially for data-hungry applications like large language models, is often throttled by memory bandwidth, not compute power.

Consider model loading, inference, and training for LLMs:

  1. Slow model loading cripples startup times
  2. Poor inference bandwidth kills real-time response
  3. Training suffers when gradient updates and parameter syncs crawl

NVbandwidth helps diagnose these issues before they derail your project.

The tool's clever design deserves mention:

  1. It queues a spin kernel waiting on a host memory flag
  2. Next, it enqueues start event, memcpy iterations, and stop event
  3. Finally, it releases the flag to begin measurement

This approach isolates actual transfer time, excluding operation queuing overhead.

Using NVbandwidth is straightforward:

bash
./nvbandwidth -t device_to_device_memcpy_read_ce -b 1024 -i 10 -j

This command measures device-to-device bandwidth via copy engine, using a 1GiB buffer over 10 iterations, with JSON output.

However, NVbandwidth isn't plug-and-play. Requirements include:

  • CUDA-enabled NVIDIA GPU
  • CUDA toolkit (11.X+ single-node, 12.3 multi-node)
  • Compatible NVIDIA driver
  • C++17 compiler
  • CMake (3.20+)
  • Boost program options library
  • MPI (multi-node only)

NVbandwidth's greatest strength is its focus. It doesn't try to be a Swiss Army knife for GPU development. Instead, it's a precision instrument for exposing memory transfer bottlenecks, a critical but often overlooked aspect of GPU performance.

This tool won't magically speed up your code. What it will do is show you exactly where your data is getting bogged down, giving you the insights needed to make informed optimization decisions. For teams pushing the limits of GPU performance, especially in data-intensive applications, NVbandwidth isn't just useful, it's essential.

Related reads

Reported and explained by AI·Reporter.

NVbandwidth Explained: Measure GPU Interconnect and Memory Performance · AI·Reporter