Intel® MPI Library

Licensing for Intel® MPI Library Runtime Environment (RTO) and Software Development Kit (SDK)

There are two different licensing options:

  • Intel® MPI Library Runtime Environment (RTO) license. This license includes tools you need to run MPI programs including runtime process managers, supporting utilities, shared (.so) libraries and documentation. The license includes everything you need to run Intel® MPI Library-based applications and is free and permanent.

Checking Correctness

Use -check_mpi option to link the resulting executable file against the Intel® Trace Collector correctness checking library. This has the same effect as when -profile=vtmc is used as an argument to mpiicc or another compiler script.

$ mpiicc -profile=vtmc test.c -o testc


$ mpiicc -check_mpi test.c -o testc

To use this option, you need to:

Binding Options


Use this option to pin or bind MPI processes to a particular processor and avoid undesired process migration. In the following syntax, the quotes may be omitted for a one-member list. Each parameter corresponds to a single pinning property.

This option is supported on both Intel® and non-Intel microprocessors, but it may perform additional optimizations for Intel microprocessors than it performs for non-Intel microprocessors.

Hetero Operating System Cluster Support

The Intel® MPI Library provides support for heterogeneous Windows-Linux environment. Hydra process manager available on Windows* OS and Linux* OS is used to provide possibility for Intel MPI Library on Linux* OS and Windows* OS to cooperate within one job. For more information about hydra process manager, see Scalable Process Management System Commands.

To run Linux-Windows operating system (OS) mixed job, do the following:

Using mpitune Utility


Use the mpitune utility to find optimal settings for the Intel® MPI Library relevant to your cluster configuration or your application.


mpitune [ -a \"<application command line>\" ] [ -of <file-name> ] \

[ -t \"<test_cmd_line>\" ] [-cm ] [ -d ] [ -D] \

ILP64 Support

The term ILP64 means that integer, long, and pointer data entities all occupy 8 bytes. This differs from the more conventional LP64 model in which only long and pointer data entities occupy 8 bytes while integer entities occupy 4 bytes. More information on the historical background and the programming model philosophy can be found, for example, in

Iscriversi a Intel® MPI Library