Intel® MPI Benchmarks User Guide and Methodology Description

# 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

IMB-NBC Benchmarks
Measuring Communication and Computation Overlap
Command-Line Control