add rocshmem_barrier() (#61)

* add team-barrier implementation

add a team-barrier API and implementation in the IPC and RO conduit.
Clean up some of the logic in the RO Conduit to distinguish between
sync, sync_all, barrier, and barrier_all.

* add team_barrier_tests to functional tests
This commit is contained in:
Edgar Gabriel
2025-03-24 11:23:03 -05:00
committed by GitHub
parent e8ba20c5f5
commit bcbc42e78f
18 changed files with 271 additions and 14 deletions
+10
View File
@@ -465,6 +465,16 @@ __device__ ATTR_NO_INLINE void rocshmem_ctx_wg_barrier_all(
__device__ ATTR_NO_INLINE void rocshmem_wg_barrier_all();
/**
* @brief perform a collective barrier between all PEs in the team.
* The caller is blocked until the barrier is resolved.
*
* @param[in] team The team on which to perform barrier synchronization
*
* @return void
*/
__device__ void rocshmem_barrier(rocshmem_team_t);
/**
* @brief registers the arrival of a PE at a barrier.
* The caller is blocked until the synchronization is resolved.