SM memcpy performance concerns on GH200
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 778
- Forks
- 93
- PR merge metrics
- No merged PRs in 30d
Description
I’m using nvbandwidth to understand the memcpy performance across NVLINK C2C on a GH200 (900GB/s bi-directional)
Command example: ./nvbandwidth --testcase 0 1 2 3 16 17 32 --testSamples 1 --useMean -b 20480
I do not understand the following performance characteristics. What could be the reasons for this?
- As I understand from https://github.com/NVIDIA/nvbandwidth/issues/23, the SM version should outperform the performance of the Copy Engines due to the available parallel threads. But in this case I am seeing a drastic drop in performance for buffer sizes 20GB and above. Is there copy kernel tuning necessary?
- Prior work suggests the CE engines should operate in parallel, however for the bi-directional case I see that this is not true and the performance in half of the peak
- The DtoH and HtoD asymmetry is larger than previously reported estimates.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported command on a GH200 with testcase 0 1 2 3 16 17 32, testSamples 1, useMean, and a 20480 buffer. Investigate the SM versus Copy Engine results, bidirectional throughput, and DtoH/HtoD asymmetry; done would require identifying and documenting the causes or a concrete correction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100