• 2019 Update 7
  • 03/31/2020
Contents

MPI Tuning

Intel® MPI Library Developer Guide for Linux* OS
Intel® MPI Library provides a tuning utility
mpitune
, which allows you to automatically adjust Intel® MPI Library parameters, such as collective operation algorithms, to your cluster configuration or application. The tuner iteratively launches a benchmarking application with different configurations to measure performance and stores the results of each launch. Based on these results, the tuner generates optimal values for the parameters that are being tuned.
Note
The
mpitune
usage model has changed since the 2018 release. Tuning parameters should now be specified in configuration files rather than as command-line options.
Configuration file format
All tuner parameters should be specified in two configuration files, passed to the tuner with the
--config-file
option. A typical configuration file consists of the main section, specifying generic options, and search space sections for specific library parameters (for example, for specific collective operations). Configuration files differ in mode and dump-file fields only. To comment a line, use the hash symbol #.
Additionally, you can specify MPI options to simplify
mpitune
usage. MPI options are useful for Intel® MPI Benchmarks that have special templates for
mpitune
located at
<installdir>/etc/tune_cfg
. The templates require no changes in configuration files to be made.
For example, to tune the
Bcast
collective algorithm, use the following option:
$ mpitune –np 2 –ppn 2 –hosts HOST1 –m analyze –c /path/to/Bcast.cfg
Experienced users can change configurations files to use this option for other applications.
Output format
Starting the Intel® MPI Library 2019 release, the tuner presents results in a JSON tree view, where the
comm_id=-1
layer is added automatically for each tree:
{ "coll=Reduce": { "ppn=2": { "comm_size=2": { "comm_id=-1": { "msg_size=243": { "REDUCE=8": {} }, "msg_size=319": { "REDUCE=11": {} }, "msg_size=8192": { "REDUCE=8": {} }, "msg_size=28383": { "REDUCE=9": {} }, "msg_size=-1": { "REDUCE=1": {} } } } } } }
To add the resulting JSON tree to the library, use the
I_MPI_TUNING
environment variable.
Old output format
The old output format is only valid for Intel® MPI Library 2018 and prior versions:
I_MPI_ADJUST_BCAST=2:0-0;1:1-64;2:65-509;1:510-8832;3:8833-0
Use the resulting variable value with the application launch to achieve performance gain.

See Also

For details on the
mpitune
configuration options, refer to the Developer Reference, section
Command Reference > mpitune
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804