avinashkethineedi
5869709dac
Update all_reduce algorithm to use internal put/get functions for updating pWrk and pSync arrays
...
* Change log_stride calcualtions to stride calculations
* Update all_reduce example code to use team based interface
[ROCm/rocshmem commit: abec29bd6a ]
2024-10-28 22:10:18 +00:00
avinashkethineedi
9f9ecd9a38
Remove the device-side active-set-based reduction API interface from rocSHMEM
...
[ROCm/rocshmem commit: c22048112e ]
2024-10-28 21:35:14 +00:00
Yiltan
bd3a07d28b
Merge pull request #43 from ROCm/LWPRHMEM-75-API-differences-bug-fix
...
Lwprhmem 75 api differences bug fix
[ROCm/rocshmem commit: 794b888d69 ]
2024-10-28 15:45:15 -04:00
Yiltan Temucin
bc315d1c8b
API bug fix in IB conduit
...
[ROCm/rocshmem commit: 98afb41263 ]
2024-10-24 11:52:03 -05:00
Yiltan Temucin
2da1f4e925
API change bug fix
...
[ROCm/rocshmem commit: e210020e9b ]
2024-10-24 11:52:03 -05:00
Edgar Gabriel
95c01c67af
add ascii art for ring allredude
...
[ROCm/rocshmem commit: 11df5427a6 ]
2024-10-24 15:08:32 +00:00
Edgar Gabriel
2836240906
fix odd-case allreduce scenarios
...
if the number of elements to be used in the allreduce operation is not
exact multiple of the work-array buffer size and number of pe's, we need
to adjust the algorithm to:
- initially perform a ring_allreduce on n_segments * chunk_size (which
is the integer division of the number of elements and the work-buffer
size, i.e. will not cover the entire buffer)
- perform another ring_allreduce where chunk_size is reduced to match
the remaining elements
- if the remaining elements from the previous step cannot evenly be
divded by the number of pe's, we need to perform a direct_allreduce on
the outstanding number of elements.
[ROCm/rocshmem commit: a4b4281f50 ]
2024-10-24 15:08:32 +00:00
Edgar Gabriel
7b760bb023
fix barrier synchronization on gfx90a
...
[ROCm/rocshmem commit: 87db7f7d38 ]
2024-10-24 15:08:28 +00:00
Edgar Gabriel
c9b5f03548
ipc: add ring_allreduce algorithms
...
add the ring allreduce algorithm to the ipc conduit in order to be able
to execute slightly largers reductions.
[ROCm/rocshmem commit: 1fbb89bc73 ]
2024-10-24 15:07:17 +00:00
Edgar Gabriel
5f0f2f6e85
ipc/to_all: add direct allreduce algorithm
...
add a simple version of an allreduce algorithm as a starting point.
[ROCm/rocshmem commit: ba21cb7b85 ]
2024-10-24 15:07:14 +00:00
Avinash Kethineedi
6979677ec5
Merge pull request #41 from avinashkethineedi/collective_routine_buffers
...
Fine grained memory buffers for work/sync arrays
[ROCm/rocshmem commit: 8a16968cf2 ]
2024-10-23 23:33:48 -05:00
avinashkethineedi
82d296db73
Fix quiet and fence of default context
...
* Update tinfo of default context
[ROCm/rocshmem commit: d5ea5868e3 ]
2024-10-22 16:18:05 +00:00
avinashkethineedi
fbcba80cd3
Add fine grained memory buffers for work/sync arrays
...
* Add interanl put_mem/get_mem{_wave, _wg} functions to read/write to work/sync arrays
* Add condition check to ensure all MPI processes are on the same compute node for IPC conduit
[ROCm/rocshmem commit: 6685d0ab60 ]
2024-10-21 15:28:39 +00:00
Yiltan Hassan Temucin
31fe937259
updated atomic_fetch() parameters
...
[ROCm/rocshmem commit: 8b3854b252 ]
2024-10-11 13:34:28 -07:00
Yiltan Hassan Temucin
3d0fca0387
updated *_wait* APIs to use int rather than roc_shmem_cmps
...
[ROCm/rocshmem commit: 722a5f0731 ]
2024-10-11 13:34:28 -07:00
Yiltan Hassan Temucin
496f06dd2b
*_wait* routines changed parameter from ptr to ivars to match OpenSHMEM
...
[ROCm/rocshmem commit: bcf3fdff10 ]
2024-10-11 13:34:28 -07:00
Brandon Potter
5b47cf482d
Merge pull request #29 from ROCm/improve-ib-latency
...
Vectorize WQE segments writes
[ROCm/rocshmem commit: e419a8b963 ]
2024-10-11 11:55:48 -05:00
Yiltan Hassan Temucin
17323323f8
fixed notifier bug
...
[ROCm/rocshmem commit: 509277c034 ]
2024-10-10 06:45:43 -07:00
Yiltan Hassan Temucin
8334214b98
added notifier->sync() when we are not using cooperative groups
...
updated scope bug
[ROCm/rocshmem commit: b1134e8633 ]
2024-10-09 13:11:28 -07:00
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
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
Brandon Potter
cd44115728
Poll the signal from one thread instead of all
...
[ROCm/rocshmem commit: 24b928a007 ]
2024-10-01 15:01:37 -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
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
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
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
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
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