avinashkethineedi
82d296db73
Fix quiet and fence of default context
...
* Update tinfo of default context
[ROCm/rocshmem commit: d5ea5868e3 ]
2024-10-22 16:18:05 +00:00
Yiltan Hassan Temucin
3d0fca0387
updated *_wait* APIs to use int rather than roc_shmem_cmps
...
[ROCm/rocshmem commit: 722a5f0731 ]
2024-10-11 13:34:28 -07:00
Yiltan Hassan Temucin
496f06dd2b
*_wait* routines changed parameter from ptr to ivars to match OpenSHMEM
...
[ROCm/rocshmem commit: bcf3fdff10 ]
2024-10-11 13:34:28 -07:00
Yiltan Hassan Temucin
17323323f8
fixed notifier bug
...
[ROCm/rocshmem commit: 509277c034 ]
2024-10-10 06:45:43 -07:00
Yiltan Hassan Temucin
8334214b98
added notifier->sync() when we are not using cooperative groups
...
updated scope bug
[ROCm/rocshmem commit: b1134e8633 ]
2024-10-09 13:11:28 -07:00
Yiltan Hassan Temucin
caa6d356c0
Added Cooperative Groups configure option and header
...
[ROCm/rocshmem commit: 63667a3167 ]
2024-10-09 13:11:12 -07:00
Yiltan Hassan Temucin
45976b23ae
Fix initialization order bug
...
[ROCm/rocshmem commit: 1baa071edf ]
2024-10-09 13:11:12 -07:00
Yiltan Hassan Temucin
ef571f5863
fixed barrier issue on MI250X
...
[ROCm/rocshmem commit: e2f6a65284 ]
2024-10-08 13:18:04 -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
Edgar Gabriel
1ddc82fc28
remove pSync from internal_bcast functions
...
remove the pSync arguments from the internal_broadcast functions,
they are not used anyway.
[ROCm/rocshmem commit: dfcacdc4a3 ]
2024-09-09 12:06:30 -07: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
14a8bf726a
Add atomics
...
* Add atomic_add, atomic_set, atomic_cas, atomic_fetch_add and atomic_fetch_cas to IPC backend
[ROCm/rocshmem commit: e1e1ac6df6 ]
2024-08-28 08:30:46 -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
Edgar Gabriel
f0127c9e21
remove device wait_until functions
...
adding the device versions of the wait_until* and test functions in the
ipc folder leads to linking errors of the functional tests. Remove them
and use for now the upper level versions of the functions, similarly to
the RO conduit. Might have to revisit this later again.
[ROCm/rocshmem commit: e2e30b5339 ]
2024-08-27 15:03:32 -07:00
avinashkethineedi
1432a6be71
Add buffers required for collectives
...
[ROCm/rocshmem commit: a9571ec002 ]
2024-08-22 09:28:09 -07:00
avinashkethineedi
6f8d2df73a
Add IPC teams
...
[ROCm/rocshmem commit: a59bdd4f6b ]
2024-08-22 09:15:44 -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
d06394fa2c
remove ipc_policy.{hpp & cpp} and context_ipc.{hpp & cpp}
...
* move ipc_policy.{hpp & cpp} to src
* rename context_ipc.{hpp & cpp} to context_ipc_device.{hpp & cpp}
[ROCm/rocshmem commit: b68867ee17 ]
2024-08-15 08:52:06 -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
avinashkethineedi
a13e2599d9
Code refactor
...
move ipc_policy.hpp and ipc_policy.cpp files to src, since they are used by all the conduits.
[ROCm/rocshmem commit: 24375a949e ]
2024-08-14 20:44:35 -07:00
Brandon Potter
bda68c964e
Add ipc unit_tests
...
[ROCm/rocshmem commit: 58c5a98b5d ]
2024-08-07 12:18:12 -07:00
Edgar Gabriel
e3e8f13414
src/ipc: add context_ipc barebone code
...
[ROCm/rocshmem commit: de750ddacc ]
2024-07-26 08:22:33 -07:00
Edgar Gabriel
edf3f98d66
src/ipc: IPC folder refactor
...
mv ipc_policy.{hpp,cpp} into a separate folder as a start for the
standalone IPC conduit.
Unit tests and functional tests pass on the developmpent system.
[ROCm/rocshmem commit: 1183006e20 ]
2024-07-25 07:33:41 -07:00