• 5.1 Update 1
  • 08/24/2015
  • Public Content


Intel® MPI Library is a multi-fabric message passing library that implements the Message Passing Interface, version 3.0 (MPI-3.0) specification. Use the library to develop applications that can run on multiple cluster interconnects.
The Intel® MPI Library has the following features:
  • Scalability up to 262k processes
  • Low overhead, enables analyzing large amounts of data
  • MPI tuning utility for accelerating your applications
  • Interconnect independence and flexible runtime fabric selection
Intel® MPI Library is available as a standalone product as well as part of the Intel® Parallel Studio XE Cluster Edition.
The following flowchart represents the usage model for working with the Intel® MPI Library.
Besides Intel® MPI Library, you can also use Intel® MPI Benchmarks to measure MPI operations on various cluster architectures and MPI implementations. You can see more details in
Intel® MPI Benchmarks User Guide and Methodology Description
at
<installdir>
/compilers_and_libraries_2016/linux/mpi/benchmarks/imb/doc
.
Prerequisites
  1. Source the
    mpivars.[c]sh
    script to establish the proper environment settings for the Intel® MPI Library. It is located in the
    <installdir_MPI>
    /
    <arch>
    /bin
    directory, where
    <installdir_MPI>
    refers to the Intel MPI Library installation directory (for example,
    /opt/intel/compilers_and_libraries_2016.<update>.<package#>/linux/mpi
    ) and
    <arch>
    is one of the following architectures:
    • intel64
      - Intel® 64 architecture
    • mic
      - Intel® Many Integrated Core Architecture
  2. Create a hostfile text file that lists the nodes in the cluster using one host name per line.
For detail system requirements, see the System Requirements section in
Intel® MPI Library Release Notes for Linux* OS
Run your Intel MPI program
Follow these steps to compile and run your MPI program:
To compile your Intel MPI program
  1. (SDK only)
    Make sure you have a compiler in your
    PATH
    . To find the path to your compiler, run the
    which
    command on the desired compiler. For example:
  2. $ which icc
    /opt/intel/compilers_and_libraries_2016.<update>.<package#>/linux/bin/intel64/icc
  3. (SDK only)
    Compile a test program using the appropriate compiler driver. For example:
  4. $ mpiicc -o myprog <installdir>/test/test.c
To run your Intel MPI program
  1. Use the previously created hostfile and start the mpirun command as follows:
    $ mpirun -n <# of processes> -f ./hostfile ./myprog
Key Features
Intel® MPI Library supports the following major features:
  • MPI-1, MPI-2.2 and MPI-3 specification conformance
  • Support for any combination of the following interconnection fabrics:
    • Shared memory
    • Network fabrics with tag matching capabilities through Tag Matching Interface (TMI), such as Intel(R) True Scale Fabric, Infiniband*, Myrinet* and other interconnects
    • Native InfiniBand* interface through OFED* verbs provided by Open Fabrics Alliance* (OFA*)
    • OpenFabrics Interface* (OFI*)
    • RDMA-capable network fabrics through DAPL*, such as InfiniBand* and Myrinet*
    • Sockets, for example, TCP/IP over Ethernet*, Gigabit Ethernet*, and other interconnects
  • Support for the following MPI communication modes related to Intel(R) Xeon Phi(TM) coprocessor:
    • Communication inside the Intel® Xeon Phi™ coprocessor
    • Communication between the Intel® Xeon Phi™ coprocessor and the host CPU inside one node
    • Communication between the Intel® Xeon Phi™ coprocessors inside one node
    • Communication between the Intel® Xeon Phi™ coprocessors and host CPU between several nodes
  • (SDK only) Support for Intel® 64 architecture Intel® MIC Architecture clusters using:
    • Intel® C++ Compiler version 14.0 through 16.0 and higher
    • Intel® Fortran Compiler version 14.0 through 16.0 and higher
    • GNU* C, C++ and Fortran 95 compilers
  • (SDK only) C, C++, Fortran* 77, Fortran 90 language bindings and Fortran 2008 bindings
  • (SDK only) Dynamic linking
Troubleshoot
Take the following general procedures to troubleshoot the problem:
  • Check system requirements and known issues in
    Intel® MPI Library Release Notes for Linux* OS
    .
  • Check hosts accessibility. Run a simple non-MPI application (for example,
    hostname
    utility) on the problem hosts with
    mpirun
    utility. This check helps to reveal the environmental problem (for example,
    SSH
    is not configured properly), or connectivity problem (for example, unreachable hosts).
  • Run MPI application with enabled debug information. To enable the debug information, set the environment variable
    I_MPI_DEBUG=6
    . You can also set a different debug level to get more detailed information. This action helps to find out the problem component.
  • See more details in the Troubleshooting section of
    Intel® MPI Library for Linux* OS User's Guide
    .
Documentation and Resources
Document
Description
The
Intel® MPI Library for Linux* OS Release Notes
contains the most up-to-date information about the product, including:
  • Overview
  • What's New
  • Key Features
  • System Requirements
  • Special Features and Known Limitations
The
Intel® MPI Library for Linux* OS Installation Guide
contains information on the following subjects:
  • Obtaining, installing, and uninstalling the Intel® MPI Library for Linux* OS
  • Getting technical support
Intel® MPI Library for Linux* OS User's Guide (HTML)(PDF)
The
Intel® MPI Library for Linux* OS User's Guide
contains information on the following subjects:
  • First steps using the Intel® MPI Library
  • Troubleshooting outlines first-aid troubleshooting actions
Intel® MPI Library for Linux* OS Reference Manual (HTML)(PDF)
The
Intel® MPI Library for Linux* OS Reference Manual
contains information on the following subjects:
  • Command Reference describes commands, options, and environment variables
  • Tuning Reference describes environment variables that influence library behavior and performance
The
Tutorial: MPI Tuner for Intel® MPI Library
contains information on the following subjects:
  • How to use the MPI Tuner for Intel® MPI Library to get optimized configuration files for the runtime library automatically
  • How to troubleshoot common issues with the MPI tuner
Online Resources
Evaluation Resources
You can use the following link to evaluate Intel® MPI Library:

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