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:
zatwierdzone przez
GitHub
rodzic
e1ed36e58f
commit
65b4ff4c41
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user