Graphe des révisions

24 Révisions

Auteur SHA1 Message Date
Yiltan Hassan Temucin 509277c034 fixed notifier bug 2024-10-10 06:45:43 -07:00
Yiltan Hassan Temucin b1134e8633 added notifier->sync() when we are not using cooperative groups
updated scope bug
2024-10-09 13:11:28 -07:00
Yiltan Hassan Temucin 63667a3167 Added Cooperative Groups configure option and header 2024-10-09 13:11:12 -07:00
Yiltan Hassan Temucin 1baa071edf Fix initialization order bug 2024-10-09 13:11:12 -07:00
Yiltan Hassan Temucin e2f6a65284 fixed barrier issue on MI250X 2024-10-08 13:18:04 -07:00
avinashkethineedi 92fb1abaf2 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)
2024-10-04 17:56:15 +00:00
avinashkethineedi 979aed105a Add fence and quiet functionality
* Perform atomic stores to enforce memory ordering
2024-10-03 06:28:12 +00:00
Avinash Kethineedi e58077e3cf Merge branch 'ipc_bringup' into ipc_atomics 2024-09-09 14:22:55 -05:00
Edgar Gabriel dfcacdc4a3 remove pSync from internal_bcast functions
remove the pSync arguments from the internal_broadcast functions,
they are not used anyway.
2024-09-09 12:06:30 -07:00
avinashkethineedi 7bbf34d334 remove local_pe calculation from puts, gets and atomics functions
* All the PEs are assumed to be accessible using IPC backend
2024-09-05 11:52:00 -07:00
Edgar Gabriel aae6295460 ipc/context_ipc_device.cpp: set barrier_sync
set the barrier_sync variable on the context during
object creation
2024-08-28 09:41:05 -07:00
avinashkethineedi e1e1ac6df6 Add atomics
* Add atomic_add, atomic_set, atomic_cas, atomic_fetch_add and atomic_fetch_cas to IPC backend
2024-08-28 08:30:46 -07:00
avinashkethineedi 45a8cb3354 Update IPC object
* Update the IPC object in the context class with the instance created in the IPC backend
2024-08-28 08:14:38 -07:00
Edgar Gabriel 0de3b5e6fc 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.
2024-08-27 15:03:38 -07:00
Edgar Gabriel e2e30b5339 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.
2024-08-27 15:03:32 -07:00
avinashkethineedi a9571ec002 Add buffers required for collectives 2024-08-22 09:28:09 -07:00
avinashkethineedi a59bdd4f6b Add IPC teams 2024-08-22 09:15:44 -07:00
avinashkethineedi c8b0f2378e Add gets and puts functionality to IPC context 2024-08-15 13:17:44 -07:00
avinashkethineedi b68867ee17 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}
2024-08-15 08:52:06 -07:00
avinashkethineedi 49779863c2 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
2024-08-14 22:59:02 -07:00
avinashkethineedi 24375a949e Code refactor
move ipc_policy.hpp and ipc_policy.cpp files to src, since they are used by all the conduits.
2024-08-14 20:44:35 -07:00
Brandon Potter 58c5a98b5d Add ipc unit_tests 2024-08-07 12:18:12 -07:00
Edgar Gabriel de750ddacc src/ipc: add context_ipc barebone code 2024-07-26 08:22:33 -07:00
Edgar Gabriel 1183006e20 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.
2024-07-25 07:33:41 -07:00