Yiltan 282fc7fe71 Fix broken atomics from PR #233 (#251)
* The QueuePair object was out of scope at the end of the for loop.
  So the deconstructor was called.
* Although correct for C++ to do this, it ignores that we copied the QueuePair object into
  device memory and have an instance there.
* Early deconstruction resulted in calling ibv_dereg_mr on the atomics memory region.
  So when the GPU kernel tried to use the memory region it wasn't
  registered which resulted in a protection domain error.
* The solution was to allocate our QueuePair obj with the new operator which leaves memory
  management to us, then we can manually call the deconstructor.

[ROCm/rocshmem commit: e856fbb0eb]
2025-09-11 18:11:52 -04:00
S
Описание
No description provided
282 MiB
Languages
C++ 67.5%
C 20.6%
Python 6.6%
CMake 3.4%
Shell 0.6%
Разное 1.1%