Commit Graph

13 Commits

Author SHA1 Message Date
Yiltan Hassan Temucin 9ae2320ac3 remove cooperative groups
[ROCm/rocshmem commit: fe767d9abf]
2024-10-30 20:10:21 +00:00
Edgar Gabriel 7b760bb023 fix barrier synchronization on gfx90a
[ROCm/rocshmem commit: 87db7f7d38]
2024-10-24 15:08:28 +00:00
avinashkethineedi fbcba80cd3 Add fine grained memory buffers for work/sync arrays
* Add interanl put_mem/get_mem{_wave, _wg} functions to read/write to work/sync arrays
* Add condition check to ensure all MPI processes are on the same compute node for IPC conduit


[ROCm/rocshmem commit: 6685d0ab60]
2024-10-21 15:28:39 +00:00
Yiltan Hassan Temucin 17323323f8 fixed notifier bug
[ROCm/rocshmem commit: 509277c034]
2024-10-10 06:45:43 -07:00
avinashkethineedi 37b1de86cd Add team information to the context
* Update roc_shmem_ctx_fence API to use team-relative PE numbering
* Update backend to populate team_opaque member of ROC_SHMEM_CTX_DEFAULT (used to store information about the team wrt TEAM_WORLD)


[ROCm/rocshmem commit: 92fb1abaf2]
2024-10-04 17:56:15 +00:00
avinashkethineedi 69784a7423 Add fence and quiet functionality
* Perform atomic stores to enforce memory ordering


[ROCm/rocshmem commit: 979aed105a]
2024-10-03 06:28:12 +00:00
Avinash Kethineedi c88645e402 Merge branch 'ipc_bringup' into ipc_atomics
[ROCm/rocshmem commit: e58077e3cf]
2024-09-09 14:22:55 -05:00
avinashkethineedi e381ea5478 remove local_pe calculation from puts, gets and atomics functions
* All the PEs are assumed to be accessible using IPC backend


[ROCm/rocshmem commit: 7bbf34d334]
2024-09-05 11:52:00 -07:00
Edgar Gabriel 6f93dd9585 ipc/context_ipc_device.cpp: set barrier_sync
set the barrier_sync variable on the context during
object creation


[ROCm/rocshmem commit: aae6295460]
2024-08-28 09:41:05 -07:00
avinashkethineedi 1335d98f1f Update IPC object
* Update the IPC object in the context class with the instance created in the IPC backend


[ROCm/rocshmem commit: 45a8cb3354]
2024-08-28 08:14:38 -07:00
Edgar Gabriel 9a380a65ff first cut on collectives and sync
code is based on the GPUIB implementations of the routines, which seem
however generic enough to work also for the IPC conduit.

Some code is in for broadcast, fcollect, and alltoall.


[ROCm/rocshmem commit: 0de3b5e6fc]
2024-08-27 15:03:38 -07:00
avinashkethineedi 6228db57e4 Add gets and puts functionality to IPC context
[ROCm/rocshmem commit: c8b0f2378e]
2024-08-15 13:17:44 -07:00
avinashkethineedi 60fb77de73 Add IPC backend
* add backend_ipc.{cpp & hpp}
* rename context_ipc.{cpp & hpp} to context_ipc_device.{cpp & hpp}
* add host interface to IPC backend
* add context_ipc_host.{cpp & hpp} to support host interface
* add USE_RO compile flag to enable support for single backend interface at a time
* add ipc_single script to build rocSHMEM with IPC backend


[ROCm/rocshmem commit: 49779863c2]
2024-08-14 22:59:02 -07:00