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.
The Intel® MPI Library has the following features:
- 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 and as part of the Intel® Parallel Studio XE Cluster Edition.
Product Contents
The product comprises the following main components:
Runtime Environment (RTO) has the tools you need to run programs, including the Hydra process manager, supporting utilities, dynamic (.dll) libraries, and documentation.
Software Development Kit (SDK) includes all of the Runtime Environment components plus compilation tools, including compiler drivers such as mpiicc, include files and modules, debug libraries, program database (.pdb) files, and test codes.
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. You can see more details in Intel® MPI Benchmarks User's Guide.
Prerequisites
Before you start using Intel® MPI Library make sure to complete the following steps:
- Set the environment variables: from the installation directory
<installdir>\mpi\<package number>\intel64\bin
, run thempivars.bat
batch file:> <installdir>\mpi\<package number>\intel64\bin\mpivars.bat
where <installdir> is the Intel MPI Library installation directory (by default, C:\Program Files (x86)\IntelSWTools). - Install and run the Hydra services on the compute nodes. In the command prompt, enter:
> hydra_service -install > hydra_service -start
- Register your credentials, enter:
> mpiexec -register
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 developer license and have the SDK component installed, you can build your MPI programs with Intel® MPI Library. Compile the program using the appropriate compiler driver. For example, for a test program:
> mpiicc -o test.exe <installdir>\test\test.c
Running an MPI program
Execute the program using the mpiexec command. For example, for the test program:
> mpiexec -n <# of processes> test.exe
To specify the hosts to run the program on, use the -hosts option:
> mpiexec -n <# of processes> -ppn <# of processes per node> -hosts <host1>,<host2>,...,<hostN> test.exe
Key Features
Intel® MPI Library has the following major features:
- MPI-1, MPI-2.2 and MPI-3.1 specification conformance
- Support for any combination of the following interconnection fabrics:
- Shared memory
- RDMA-capable network fabrics through DAPL*, such as InfiniBand* and Myrinet*
- Sockets, for example, TCP/IP over Ethernet*, Gigabit Ethernet*, and other interconnects
- (SDK only) Support for Intel® 64 architecture clusters using:
- Intel® C++ Compiler version 15.0 and higher
- Intel® Fortran Compiler version 15.0 and higher
- Microsoft* Visual C++* Compilers
- (SDK only) C, C++, Fortran* 77 and Fortran 90 language bindings
- (SDK only) Dynamic linking
Online Resources
- Online Training
- Online Documentation
- Product Web Site
- Intel® Learning Lab (white papers, articles and more)