Commit Graph

75 Commits

Author SHA1 Message Date
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
Yiltan Hassan Temucin 3cba9ccd42 added .gitignore, we do not want to include the build directory in our commits
[ROCm/rocshmem commit: 120453c75c]
2024-10-08 13:18:04 -07:00
avinashkethineedi 7eec77ea17 Add script to run unit tests
[ROCm/rocshmem commit: c1bcf336b4]
2024-10-08 18:12:07 +00: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
Brandon Potter 8e44e5d458 Merge pull request #31 from BKP/ipc_bringup_fine_unit_09-26-24
Add IPC Simple Buffer Fine-grained Unit Tests

[ROCm/rocshmem commit: 787cf0ff3f]
2024-10-01 15:12:30 -05:00
avinashkethineedi 285ac5cab6 Add MPI_THREAD_MULTIPLE check
[ROCm/rocshmem commit: 2f0739d823]
2024-10-01 20:05:15 +00:00
Brandon Potter cd44115728 Poll the signal from one thread instead of all
[ROCm/rocshmem commit: 24b928a007]
2024-10-01 15:01:37 -05:00
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 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
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
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 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