I am testing NVLink bandwidth on a GB200 using the following command:
nsys profile --gpu-metrics-devices all ./nvbandwidth -t device_to_device_memcpy_write_sm -b 1024
My nvbandwidth tool reports a bandwidth of 717 GB/s (~80% of the theoretical 900 GB/s peak). This result is correct, as it’s based on Data Size / Time Duration. However, the Nsight Systems report shows a utilization of only ~66%.
Why is there a difference between these two results? How can I accurately measure the effective NVLink utilization rate with Nsight Systems?
Versions:
- Driver Version: 570.172.08
- CUDA Version: 12.9
- Nsight Systems CLI: 2025.3.1.90-253135822126v0
- Nsight Systems GUI: 2025.5.1
dcgm monitoring shows the NVLink bandwidth as 700GB, which proves that the output from NVBandwidth is normal, while there is an issue with the output from NSys.
Thanks for your feedback. This is a known issue, but currently there’s no immediate solution that I can share. There’s an ongoing internal discussion on how to resolve this.
Thanks for your reply! Do you have a rough ETA for the fix (e.g., weeks, months, or longer)?
In the meantime, is there a manual workaround? For instance, can I get the correct value by applying a certain percentage to the User Data and protocol data?
gb10x.config.zip (1.9 KB)
No ETA for now, but in the mean time you can try this metric config.
$ nsys profile --gpu-metrics-devices=all --gpu-metrics-set=file:/path/to/gb10x.config
Percentage values are still not right, but it also has bytes/s and GB/s values that should be correct.