Measuring Communication and Computation Overlap
Measuring Pure Communication Time
Iallgather
Iallgather_pure
Iallgatherv
Iallgatherv_pure
Iallreduce
Iallreduce_pure
Ialltoall
Ialltoall_pure
Ialltoallv
Ialltoallv_pure
Ibarrier
Ibarrier_pure
Ibcast
Ibcast_pure
Igather
Igather_pure
Igatherv
Igatherv_pure
Ireduce
Ireduce_pure
Ireduce_scatter
Ireduce_scatter_pure
Iscatter
Iscatter_pure
Iscatterv
Iscatterv_pure
All_get_all
The benchmark tests the scenario when all processes communicate with each other using the MPI_Get operation. To avoid congestion due to simultaneous access to the memory of a process by all other processes, different ranks choose different targets at each particular step. For example, while looping through all the possible target ranks, the next target is chosen as follows: (target_rank + current_rank)%num_ranks.
Property |
Description |
---|---|
Measuredpattern |
(N*MPI_Get)/MPI_Win_flush_all, where N is the number of target processes |
MPI data type |
MPI_BYTE (origin and target) |
Reportedtimings |
Bare time |
Reportedthroughput |
None |