Intel® MPI Library is a multi-fabric message passing library that implements the Message Passing Interface, version 3.1 (MPI-3.1) specification. Use the library to develop applications that can run on multiple cluster interconnects.

Intel® MPI Library has the following features:

Intel® MPI Library is available as a standalone product and as part of the Intel® Parallel Studio XE Cluster Edition.

Product Contents

The product comprises the following main components:

Besides the SDK and RTO components, Intel® MPI Library also includes Intel® MPI Benchmarks, which enable you to measure MPI operations on various cluster architectures and MPI implementations. For details, see the Intel® MPI Benchmarks User Guide.

Prerequisites

Before you start using Intel® MPI Library make sure to complete the following steps:

  1. Source the mpivars.[c]sh script to establish the proper environment settings for the Intel® MPI Library. The script is located at <installdir>/compilers_and_libraries_<version>.<update>.<package>/linux/mpi/intel64/bin, where <installdir> is the Intel Parallel Studio XE installation directory (for example, /opt/intel).
  2. Create a hostfile text file that lists the nodes in the cluster using one host name per line. For example:
    clusternode1
    clusternode2
  3. Make sure the passwordless SSH connection is established among all nodes of the cluster. It ensures the proper communication of MPI processes among the nodes. To establish the connection, you can use the sshconnectivity.exp script located at <installdir>/parallel_studio_xe_<version>.<update>.<package>/bin.

After completing these steps, you are ready to use Intel® MPI Library.

For detailed system requirements, see the System Requirements section in Release Notes.

Building and Running MPI Programs

Compiling an MPI program

If you have the SDK component installed, you can build your MPI programs with Intel® MPI Library. Do the following:

  1. Make sure you have a compiler in your PATH. To check this, run the which command on the desired compiler. For example:
  2. $ which icc
    /opt/intel/compilers_and_libraries_<version>.<update>.<package>/linux/bin/intel64/icc
  3. Compile a test program using the appropriate compiler driver. For example:
  4. $ mpiicc -o myprog <installdir>/test/test.c

Running an MPI program

Use the previously created hostfile and run your program with the mpirun command as follows:

$ mpirun -n <# of processes> -ppn <# of processes per node> -f ./hostfile ./myprog

For example:

$ mpirun -n 2 -ppn 1 -f ./hostfile ./myprog

The test program above produces output in the following format:

Hello world: rank 0 of 2 running on clusternode1
Hello world: rank 1 of 2 running on clusternode2

This output indicates that you properly configured your environment and Intel® MPI Library successfully ran the test MPI program on the cluster.

Key Features

Intel® MPI Library has the following major features:

Troubleshooting

If you encounter problems when using Intel® MPI Library, go through the following general procedures to troubleshoot them:

See more details in the Troubleshooting section of the Developer Guide.

Training and Documentation

Resource Description
Online Training

The online training site is an excellent resource for learning the Intel® MPI Library capabilities through various guides, videos, webinars, and more.

Release Notes

This page contains the most up-to-date information about the product, including: what's new, key features, system requirements and known limitations.

Online Documentation

This page provides links to all available Intel® MPI Library documents.