Граф коммитов

74 Коммитов

Автор SHA1 Сообщение Дата
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