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
Esse commit está contido em:
Edgar Gabriel
2025-03-24 11:23:03 -05:00
commit de GitHub
commit bcbc42e78f
18 arquivos alterados com 271 adições e 14 exclusões
+3 -1
Ver Arquivo
@@ -85,6 +85,7 @@ TesterArguments::TesterArguments(int argc, char *argv[]) {
case AMO_IncTestType:
case AMO_FetchTestType:
case BarrierAllTestType:
case TeamBarrierTestType:
case SyncAllTestType:
case SyncTestType:
case ShmemPtrTestType:
@@ -135,7 +136,8 @@ void TesterArguments::get_rocshmem_arguments() {
if ((type != BarrierAllTestType) && (type != SyncAllTestType) &&
(type != SyncTestType) && (type != TeamAllToAllTestType) &&
(type != TeamFCollectTestType) && (type != TeamReductionTestType) &&
(type != TeamBroadcastTestType) && (type != PingAllTestType)) {
(type != TeamBroadcastTestType) && (type != PingAllTestType) &&
(type != TeamBarrierTestType)) {
if (numprocs != 2) {
if (myid == 0) {
std::cerr << "This test requires exactly two processes, we have "