Ask the Community

Talk with other users and experts in our community forum.

Frequently Asked Questions

Does the library support 32-bit applications on 64-bit operating systems?
The Intel MPI Library supports only 64-bit apps on 64-bit operating systems on Intel® 64 architecture. For more details, see Deprecation Information.
How does the software perform on Advanced Micro Devices (AMD)* platforms?
The Intel MPI Library is known to run on AMD platforms but we do not validate functionality or performance on them.
How does the application support parallel I/O calls?
The parallel file I/O (part of the MPI-2 standard) is fully implemented by the Intel MPI Library 5.0 or later. Some of the currently supported file systems include Unix file system* (UFS), Network File System (NFS), Parallel Virtual File System (PVFS), and Lustre*. For a complete list, see the release notes.
Does the library support one-sided communication?
The Intel MPI Library supports one-sided communication for both active targets and passive targets. The only exception is the passive target one-sided communication where the target process does not call any MPI functions. Further support is available through the new one-sided calls and memory models in MPI-3.0.
Which compilers does the Intel MPI Library support?

The Intel MPI Library supports compilers from Intel, GNU* C, C++, Fortran 77 (3.3 or higher), and GNU* Fortran 95 (4.0 or higher). Additionally, the library provides a bundled source kit that supports PGI* C, PGI Fortran 77, and Absoft* Fortran 77 compilers out of the box with the following caveats:

  • The source files that PGI compiles must not transfer long double entities.
  • The build procedure based on Absoft* must use the -g77 and -B108 compiler options.
  • You must install and select the right compilers.
  • Install the respective compiler runtime on all nodes.

You may need to build extra binding libraries if you need support for PGI* C++, PGI* Fortran 95, and Absoft* Fortran 95 bindings. This additional binding kit is shipped with the full installation of the Intel MPI Library.

Which common resource managers does the library support?
The Intel MPI Library supports OpenPBS*, PBS Pro*, Torque, LSF*, Parallelnavi*, NetBatch*, SLURM*, SGE*, LoadLeveler*, and Lava* batch schedulers. The simplified job startup command mpirun recognizes when it is run inside a session started by any PBS-compatible resource manager (like OpenPBS*, PBS Pro*, Torque*), as well as LSF*. See the reference manual (available in Get Started) for a description of this command.
What types of hybrid functionalities does the library support?
The Intel MPI Library supports mixed MPI and OpenMP* applications. To use them, ensure that the thread-safe version of the library is linked to your application. For more information on running these applications, see our developer guides for Linux and Windows.
How does the Intel MPI Library support fault tolerance?
The MPI standard does not yet define proper handling of aborted MPI ranks. By default, the Intel MPI Library stops the entire application if any process exits abnormally. This behavior can be overwritten via a run-time option where the library allows an application to continue execution even if one process stops responding. For details and application requirements, see the reference manual.
What thread-safety level is supported by the library?

The Intel MPI Library includes thread-safe libraries at the level MPI_THREAD_MULTIPLE. Several threads can make library calls simultaneously. Use the compiler driver -mt_mpi option to link to the thread-safe version. Use the thread-safe libraries if you request the thread support at the following levels:

MPI_THREAD_FUNNELED

MPI_THREAD_SERIALIZED

MPI_THREAD_MULTIPLE

Starting with Intel MPI Library 5.0 and later, the thread-safe version of the library will be linked by default at level MPI_THREAD_FUNNELED. You can change this manually in your application through the MPI_Init_thread() calls.

How can I find the version of the library installed on my system?

Use mpirun –V to get versioning and build information:

$ mirun -V

If this is an official package, look up the mpisupport.txt file or the release notes and search for a version information there:

$ cat /opt/intel/mpi/2019/mpisupport.txt

If the Intel MPI Library is installed in RPM mode, query the RPM database:

$ rpm –qa | grep intel-mpi

Finally, for full build identification information:

  • Set I_MPI_VERSION to 1 and run any MPI program, grepping for Build:
    $ mpirun –n 2 –env ./a.out | grep –i build
    This returns a couple of lines with the build date.
  • Most of this information is also embedded into the library and can be queried using the strings utility:
    $ strings /opt/intel/mpi/2019/lib/libmpi.so | grep –i build
How does this library support heterogeneous clusters?
The Intel MPI Library supports clusters running different operating system versions or distributions, or an environment of mixed Intel® processors. It provides default optimizations depending on the detected architecture.