Grafico dei commit

18 Commit

Autore SHA1 Messaggio Data
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