Add multi work-group support for collective functional tests (#45)

- Added multi-work group support for the All-to-all, Fcollect, Broadcast, Barrier and Sync collective functional tests
- Renamed All-to-all and Fcollect tests to TeamAlltoAll and TeamFcollect

[ROCm/rocshmem commit: 57d60aa727]
This commit is contained in:
Avinash Kethineedi
2025-02-19 10:31:53 -06:00
zatwierdzone przez GitHub
rodzic e1ed36e58f
commit 65b4ff4c41
14 zmienionych plików z 719 dodań i 486 usunięć
@@ -44,7 +44,13 @@ __global__ void BarrierAllTest(int loop, int skip, long long int *start_time,
__syncthreads();
rocshmem_ctx_wg_barrier_all(ctx);
/**
* The function `rocshmem_ctx_wg_barrier_all` should be called from only
* one group within the grid to avoid unintended behavior.
*/
if (is_block_zero_in_grid()) {
rocshmem_ctx_wg_barrier_all(ctx);
}
}
__syncthreads();
@@ -70,7 +76,7 @@ void BarrierAllTester::launchKernel(dim3 gridSize, dim3 blockSize, int loop,
hipLaunchKernelGGL(BarrierAllTest, gridSize, blockSize, shared_bytes, stream,
loop, args.skip, start_time, end_time);
num_msgs = (loop + args.skip) * gridSize.x;
num_msgs = loop + args.skip;
num_timed_msgs = loop;
}