MPI Tuning

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.


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:


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.

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)