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
Brandon Potter
787cf0ff3f
Merge pull request #31 from BKP/ipc_bringup_fine_unit_09-26-24
...
Add IPC Simple Buffer Fine-grained Unit Tests
2024-10-01 15:12:30 -05:00
Brandon Potter
24b928a007
Poll the signal from one thread instead of all
2024-10-01 15:01:37 -05:00
Brandon Potter
f85c46ec0a
Bugfixes for the ipc unit tests
2024-09-26 13:40:05 -05:00
Edgar Gabriel
c133ea18a5
fix assembly switch/case instruction
...
move the case statement out of the architecture specific section.
2024-09-20 20:25:40 +00:00
Brandon Potter
86a2f34539
Add missing header file
2024-09-10 09:35:02 -07:00
Brandon Potter
7411c45591
Conservatively use SEQ_CST atomics in IPC conduit
2024-09-10 09:34:45 -07:00
Brandon Potter
2806e1be79
Intermediate commit for rebase
2024-09-10 07:10:22 -07:00
Brandon Potter
45c29e7734
Minor updates to Nofifier sync method
2024-09-10 07:10:21 -07:00
Brandon Potter
359d6be797
Add sync method to notifier class
2024-09-10 07:10:21 -07:00
Brandon Potter
5b42cff96c
Update Notifier fixture to Block
2024-09-10 07:10:21 -07:00
Brandon Potter
51c33b2a66
Updates to Notifier
2024-09-10 07:10:21 -07:00
Brandon Potter
039ea82777
Change read/write to load/store in Nofitier API
2024-09-10 07:10:21 -07:00
Brandon Potter
0c53a075f2
Fix problems with Notifier
2024-09-10 07:10:21 -07:00
Brandon Potter
c4b7e0d91b
Partial notifier
2024-09-10 07:10:21 -07:00
Brandon Potter
e9fb01ab6b
Merge pull request #27 from ROCm/ipc_bringup
...
Ipc bringup
2024-09-10 09:06:51 -05:00
Brandon Potter
375d145913
Merge pull request #25 from mawad-amd/fix-bad-auto
...
Fix bad auto
2024-09-09 16:30:17 -05: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
Muhammad Awad
b811b2b683
Fix bad auto
...
Signed-off-by: Muhammad Awad <MuhammadAbdelghaffar.Awad@amd.com >
2024-09-05 18:39:02 -05: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
avinashkethineedi
862421e0ca
Update IPC object
...
* Update the state of the IPC object in the RO context class with the instance created in the RO backend
2024-08-28 12:31:01 -07:00
Edgar Gabriel
1ffe62bb2e
utils.hpp: silence warnings
...
silence some warnings when compiling with debug flags.
2024-08-28 09:42:14 -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
c9dbcf80c2
Update context_ipc_gtest.cpp to use IPCbackend
2024-08-15 11:54:56 -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
Brandon Potter
c865fcd4bb
Fix memcpy_wave bug
2024-08-07 11:37:45 -07:00
Brandon Potter
bb6e48dded
Add assembly for gfx94x
2024-07-31 14:14:24 -05:00
Brandon Potter
862ef5713f
Move inline asm into separate file
2024-07-30 14:53:19 -05:00
Brandon Potter
73303ca2d2
Move inline assembly into arch defines blocks
2024-07-30 12:56:32 -05: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
Brandon Potter
39c5be18b1
Remove CACHED_HEAP option
2024-07-15 10:18:20 -05:00
Avinash Kethineedi
ac3f87936f
Merge pull request #5 from BKP/ut_07-11-24
...
Unit test fixes
2024-07-14 23:31:43 -05:00
Brandon Potter
719ee21da7
Silence variable array warnings
2024-07-11 13:50:11 -07:00
Brandon Potter
770890a107
Remove SpinEBOBlockMutex usage and unit tests
2024-07-11 10:12:19 -07:00
Brandon Potter
646a59f381
Remove slab allocator from backend class
2024-07-11 08:48:18 -07:00
Brandon Potter
8b14d9f07d
Set MPI threading mode for hyd-7c machine
2024-07-11 08:43:01 -07:00
Brandon Potter
ea8f264a11
Transfer files from RAD repository
2024-07-01 09:57:08 -05:00