Classification of MPI-1 Benchmarks#
Intel(R) MPI Benchmarks introduces the following classes of benchmarks:
Single Transfer
Parallel Transfer
Collective benchmarks
The following table lists the MPI-1 benchmarks in each class:
Single Transfer |
Parallel Transfer |
Collective |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
||
|
Each class interprets results in a different way.
Single Transfer Benchmarks#
Single transfer benchmarks involve two active processes into
communication. Other processes wait for the communication completion.
Each benchmark is run with varying message lengths. The timing is
averaged between two processes. The basic MPI data type for all messages
is MPI_BYTE.
Throughput values are measured in MBps and can be calculated as follows:
throughput = X/
time
where
time
is measured inμ
sec.X
is the length of a message, in bytes.
Parallel Transfer Benchmarks#
Parallel transfer benchmarks involve more than two active processes into
communication. Each benchmark runs with varying message lengths. The
timing is averaged over multiple samples. The basic MPI data type for
all messages is MPI_BYTE
. The throughput calculations of the
benchmarks take into account the multiplicity nmsg
of messages
outgoing from or incoming to a particular process according to the following table:
Benchmark |
Turnover |
---|---|
|
|
|
|
Throughput values are measured in MBps and can be calculated as follows:
throughput = nmsg*X/time
,
where
time
is measured inμsec
.X
is the length of a message, in bytes.
Collective Benchmarks#
Collective benchmarks measure MPI collective operations. Each benchmark
is run with varying message lengths. The timing is averaged over
multiple samples. The basic MPI data type for all messages is
MPI_BYTE
for pure data movement functions and MPI_FLOAT
for
reductions.
Collective benchmarks show bare timings.