Measuring Pure Communication Time

Measuring Pure Communication Time#

To measure pure execution time of nonblocking collective operations, use the _pure flavor of the IMB-NBC benchmarks. The benchmark methodology is consistent with the one used for regular collective operations:

  • Each rank performs the predefined amount of iterations and calculates the mean value.

  • The basic MPI data type for all messages is MPI_BYTE for pure data movement functions and MPI_FLOAT for reductions.

  • If the operation requires the root process to be specified, the root process is selected round-robin through iterations.

These benchmarks are not included into the default list of IMB-NBC benchmarks. To run a benchmark, specify the particular benchmark name or use the –include command-line parameter. For example:

$ mpirun -np 2 IMB-NBC Ialltoall_pure
$ mpirun -np 2 IMB-NBC -include Iallgather_pure Ialltoall_pure

Displaying Results#

Pure nonblocking collective benchmarks show bare timing values. Since execution time may vary for different ranks, three timing values are shown: maximum, minimum, and the average time among all the ranks participating in the benchmark measurements.

See Also