Visible to Intel only — GUID: GUID-C009D60B-9385-4914-8465-6BE14F62A756
Visible to Intel only — GUID: GUID-C009D60B-9385-4914-8465-6BE14F62A756
IMB-MPI-2 Benchmark Classification
Intel(R) MPI Benchmarks introduces three classes of benchmarks:
Single Transfer
Parallel Transfer
Collective
Each class interprets results in a different way.
Window - measures overhead of one-sided communications for the MPI_Win_create / MPI_Win_free functions
Open_close - measures overhead of input/output operations for the MPI_File_open / MPI_File_close functions
Single Transfer Benchmarks
This class contains benchmarks of functions that operate on a single data element transferred between one source and one target. For MPI-2 benchmarks, the source of the data transfer can be an MPI process or, in the case of Read benchmarks, an MPI file. The target can be an MPI process or an MPI file.
For I/O benchmarks, the single transfer is defined as an operation between an MPI process and an individual window or a file.
Single transfer IMB-EXT benchmarks only run with two active processes.
Single transfer IMB-IO benchmarks only run with one active process.
Parallel Transfer Benchmarks
This class contains benchmarks of functions that operate on several processes in parallel. The benchmark timings are produced under a global load. The number of participating processes is arbitrary.
In the Parallel Transfer, more than one process participates in the overall pattern.
The final time is measured as the maximum of timings for all single processes. The throughput is related to that time and the overall amount of transferred data (sum over all processes).
Collective Benchmarks
This class contains benchmarks of functions that are collective as provided by the MPI standard. The final time is measured as the maximum of timings for all single processes. The throughput is not calculated.
MPI-2 Benchmarks Classification
Single Transfer |
Parallel Transfer |
Collective |
Other |
---|---|---|---|
Unidir_Get |
Multi_Unidir_Get |
Accumulate |
Window |
Unidir_Put |
Multi_Unidir_Put |
Multi_Accumulate |
Multi_Window |
Bidir_Get |
Multi_Bidir_Get |
||
Bidir_Put |
Multi_Bidir_Put |
||
S_[I]Write_indv |
P_[I]Write_indv |
C_[I]Write_indv |
Multi-C_[I]Write_indv |
S_[I]Write_indv |
P_[I]Write_indv |
C_[I]Write_indv Multi-C_[I]Write_indv |
Open_close Multi-Open_close |
S_[I]Read_indv |
P_[I]Read_indv |
C_[I]Read_indv Multi-C_[I]Read_indv |
|
S_[I]Write_expl |
P_[I]Write_expl |
C_[I]Write_expl Multi-C_[I]Write_expl |
|
S_[I]Read_expl |
P_[I]Read_expl |
C_[I]Read_expl Multi-C_[I]Read_expl |
|
P_[I]Write_shared |
C_[I]Write_shared Multi-C_[I]Write_shared |
||
P_[I]Read_shared |
C_[I]Read_shared Multi-C_[I]Write_shared |
||
P_[I]Write_priv |
|||
P_[I]Read_priv |