Intel MPI

From HP-SEE Wiki

Jump to: navigation, search

Description

Section contributed by UPB

MPI (Message-Passing Interface) is the de-facto standard for parallelization on distributed memory parallel systems. Multiple processes explicitly exchange data and coordinate their work flow. MPI specifies the interface but not the implementaion. Therefore, there are plenty of implementations for PC’s as well as for supercomputers. There are freely available implementations and commercial ones, which are particularly tuned for the target platform. MPI has a huge number of calls, although it is possible to write meaningful MPI applications just employing some 10 of these calls.

Intel-MPI is a commercial implementation based on mpich2 which is a public domain implementation of the MPI 2 standard provided by the Mathematics and Computer Science Division of the Argonne National Laboratory.

The compiler drivers mpifc, mpiifort, mpiicc, mpiicpc, mpicc and mpicxx and the instruction for starting an MPI application mpiexec will be included in the search path. There are two dierent versions of compiler driver: mpiifort, mpiicc and mpiicpc are the compiler driver for Intel Compiler. mpifc, mpicc and mpicxx are the compiler driver for GCC (GNU Compiler Collection).

To use the Intel implementation you must load the appropriate modules just like in the PGI exemple in the OpenMPI section.

Usage Examples

 $ mpiifort -c ... *.f90
 $ mpiicc -o a.out *.o
 $ mpirun -np 4 a.out:
 $ ifort -I$MPI_INCLUDE -c prog.f90
 $ mpirun -np 4 a.out

REFERENCES

[IMPI] http://software.intel.com/en-us/articles/intel-mpi-library/

[IMPIDoc] http://software.intel.com/en-us/articles/intel-mpi-library-documentation/

Personal tools