Biblioteca MPI Intel®

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:

Environment Problems

Environmental errors may happen when there are problems with the system environment, such as mandatory system services are not running, shared resources are unavailable and so on.

When you encounter environmental errors, check the environment. For example, verify the current state of important services.

Example 1

Symptom/Error Message

librdmacm: Warning: couldn't read ABI version.

librdmacm: Warning: assuming: 4

Compiler Commands

(SDK only)

The following table lists available MPI compiler commands and the underlying compilers, compiler families, languages, and application binary interfaces (ABIs) that they support.

Table 2.1-1 The Intel® MPI Library Compiler Drivers

Compiler Command

Default Compiler

Supported Language(s)

Running MPI Applications

The checkpoint-restart feature is available with the Hydra process launcher (mpiexec.hydra). The launcher provides two mutually exclusive methods of taking checkpoints:

  • By timers

  • By explicit signal

You can provide directory paths where checkpoints can be stored temporarily and permanently.

Local Options

-n <# of processes> or -np <# of processes>

Use this option to set the number of MPI processes to run with the current arg-set.

-env <ENVVAR> <value>

Use this option to set the <ENVVAR> environment variable to specified <value> for all MPI processes in the current arg-set.

Interoperability with OpenMP API


The Intel® MPI Library provides an additional environment variable to control process pinning for hybrid Intel MPI Library applications. This environment variable is used to define a number of non-overlapping subsets (domains) of logical processors on a node, and a set of rules on how MPI processes are bound to these domains by the following formula: one MPI process per one domain. See the picture.

Dynamic Process Support

The Intel® MPI Library provides support for the MPI-2 process model that allows creation and cooperative termination of processes after an MPI application has started. It provides the following:

  • a mechanism to establish communication between the newly created processes and the existing MPI application

  • a process attachment mechanism to establish communication between two existing MPI applications even when one of them does not spawn the other



A pinging resolution in descriptions for pinning property.

hyper-threading technology

A feature within the IA-64 and Intel® 64 family of processors, where each processor core provides the functionality of more than one logical processor.

logical processor

Multi-threaded Applications

To run an application which creates new threads, you need to link your application with thread safe version of the Intel® MPI Library. You do not need any extra option while code compilation, the compiler script like mpiicc links code with thread safe library by default.

To run OpenMP* application and pin threads inside the domain, make sure the KMP_AFFINITY environment variable is set to use the corresponding OpenMP* feature.

Run the application:

Assine o Biblioteca MPI Intel®