avinashkethineedi
0641a4a29e
make MPI_Init and MPI_Finalize independent of the test fixtures
...
[ROCm/rocshmem commit: 0f7dc70894 ]
2024-10-01 18:33:36 +00:00
Brandon Potter
c097da70c4
Poll the signal from one thread instead of all
...
[ROCm/rocshmem commit: 0659f8d93c ]
2024-09-27 15:17:57 -05:00
Brandon Potter
25d7d7fccd
Change notifier max thread block value to account for MI300 CPX
...
[ROCm/rocshmem commit: db221b022a ]
2024-09-27 11:17:53 -05:00
Brandon Potter
24a527dcda
Reset config options to original values
...
[ROCm/rocshmem commit: 56b2ed699b ]
2024-09-27 11:17:11 -05:00
Brandon Potter
325ce3cba7
Bugfixes for the ipc unit tests
...
[ROCm/rocshmem commit: f85c46ec0a ]
2024-09-26 13:40:05 -05:00
Edgar Gabriel
bed676f89d
fix assembly switch/case instruction
...
move the case statement out of the architecture specific section.
[ROCm/rocshmem commit: c133ea18a5 ]
2024-09-20 20:25:40 +00:00
Muhammad Awad
fe3ecde6f6
Vectorize WQe segments writes
...
Signed-off-by: Muhammad Awad <MuhammadAbdelghaffar.Awad@amd.com >
[ROCm/rocshmem commit: 3162d49b56 ]
2024-09-17 20:34:18 -05:00
Brandon Potter
56c1626df1
Update fine-grained simple tests
...
[ROCm/rocshmem commit: 46fdb1851c ]
2024-09-10 09:35:41 -07:00
Brandon Potter
e64264d233
Add missing header file
...
[ROCm/rocshmem commit: 86a2f34539 ]
2024-09-10 09:35:02 -07:00
Brandon Potter
bf79c21ea8
Conservatively use SEQ_CST atomics in IPC conduit
...
[ROCm/rocshmem commit: 7411c45591 ]
2024-09-10 09:34:45 -07:00
Brandon Potter
10d351b6a1
Intermediate commit for rebase
...
[ROCm/rocshmem commit: 2806e1be79 ]
2024-09-10 07:10:22 -07:00
Brandon Potter
74c4a248cc
Add an extra assertion check for nullptr
...
[ROCm/rocshmem commit: 678564ba3c ]
2024-09-10 07:10:22 -07:00
Brandon Potter
688826937f
Minor updates to Nofifier sync method
...
[ROCm/rocshmem commit: 45c29e7734 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
aed0da61d0
Add sync method to notifier class
...
[ROCm/rocshmem commit: 359d6be797 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
9b0e4dc05d
Change notifier fixture to prep for other fixtures
...
[ROCm/rocshmem commit: 1289d50be5 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
68384da019
Update Notifier fixture to Block
...
[ROCm/rocshmem commit: 5b42cff96c ]
2024-09-10 07:10:21 -07:00
Brandon Potter
13ec689cdf
Updates to Notifier
...
[ROCm/rocshmem commit: 51c33b2a66 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
4896235ada
Change read/write to load/store in Nofitier API
...
[ROCm/rocshmem commit: 039ea82777 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
ef4a14e947
Fix problems with Notifier
...
[ROCm/rocshmem commit: 0c53a075f2 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
cec6ba91a0
Partial notifier
...
[ROCm/rocshmem commit: c4b7e0d91b ]
2024-09-10 07:10:21 -07:00
Brandon Potter
4610659bf1
Add simple fine test
...
[ROCm/rocshmem commit: da93542c40 ]
2024-09-10 07:10:21 -07:00
Brandon Potter
94122cd208
Merge pull request #27 from ROCm/ipc_bringup
...
Ipc bringup
[ROCm/rocshmem commit: e9fb01ab6b ]
2024-09-10 09:06:51 -05:00
Brandon Potter
72c048d80a
Merge pull request #25 from mawad-amd/fix-bad-auto
...
Fix bad auto
[ROCm/rocshmem commit: 375d145913 ]
2024-09-09 16:30:17 -05: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
9532e084fc
Add tilled version of puts and gets at wavefront level to the functional test suite
...
* Implemented tiled version of put*_wave and get*_wave functions
* Maintain single kernel that supports both tiled and untiled versions
* Disable IPC in the default RO build script
[ROCm/rocshmem commit: b6d31ac7ef ]
2024-09-07 16:06:36 -07:00
avinashkethineedi
3d26792831
Add tilled version of puts and gets at the workgroup level to the functional test suite
...
[ROCm/rocshmem commit: d226922733 ]
2024-09-07 15:58:14 -07:00
Muhammad Awad
2a87c646f5
Fix bad auto
...
Signed-off-by: Muhammad Awad <MuhammadAbdelghaffar.Awad@amd.com >
[ROCm/rocshmem commit: b811b2b683 ]
2024-09-05 18:39:02 -05:00
avinashkethineedi
31c43bd58d
add functional tests for puts and gets at wavefront level
...
* These functional tests are simple puts and gets, where every wave will get/put the same amount of data
* Enabled workgroup level puts and gets tests
[ROCm/rocshmem commit: ff954237dd ]
2024-09-05 14:52:48 -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
avinashkethineedi
46176eeeff
Comment out ping pong test
...
* ping pong test fails sporadically
* issues with roc_shmem_wait_until
[ROCm/rocshmem commit: 9c9ef4ffd3 ]
2024-08-28 12:40:51 -07:00
avinashkethineedi
d71286ace4
Update IPC object
...
* Update the state of the IPC object in the RO context class with the instance created in the RO backend
[ROCm/rocshmem commit: 862421e0ca ]
2024-08-28 12:31:01 -07:00
Edgar Gabriel
caf0a7dfad
utils.hpp: silence warnings
...
silence some warnings when compiling with debug flags.
[ROCm/rocshmem commit: 1ffe62bb2e ]
2024-08-28 09:42:14 -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
fe866aaea6
Update context_ipc_gtest.cpp to use IPCbackend
...
[ROCm/rocshmem commit: c9dbcf80c2 ]
2024-08-15 11:54:56 -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
Brandon Potter
a542e0a332
Fix memcpy_wave bug
...
[ROCm/rocshmem commit: c865fcd4bb ]
2024-08-07 11:37:45 -07:00
Brandon Potter
962f4bedf8
Add assembly for gfx94x
...
[ROCm/rocshmem commit: bb6e48dded ]
2024-07-31 14:14:24 -05:00
Edgar Gabriel
7e446cfc81
unit_tests: add ipc_context tests
...
add the initial outline of an ipc_context unit test. The current test
only invokes the ipc_context constructor, more tests will be added later
as the class is being populated.
Also, at the moment the unit test takes an ROBackend as an argument for
the constructor, not sure whether this will be the final solution.
[ROCm/rocshmem commit: b1bc4a497a ]
2024-07-30 15:22:03 -07:00
Brandon Potter
21d8301c83
Move inline asm into separate file
...
[ROCm/rocshmem commit: 862ef5713f ]
2024-07-30 14:53:19 -05:00