MPI

From SNIC Documentation
Jump to: navigation, search


MPI (Message Passing Interface) is a library, which is designed to provide the information exchange between different tasks of a distributed memory parallel program. It is presently the de-facto standard to implement message passing in programs written in Fortran, C or C++.

It consists of a group of functions which supports different communication operations.

Experts

These experts have registered specific competence on this subject:

  FieldAE FTEGeneral activities
Anders Sjöström (LUNARC)LUNARCGPU computing
MATLAB
General programming
Technical acoustics
50Helps users with MATLAB, General programming, Image processing, Usage of clusters
Chandan Basu (NSC)NSCComputational science100Working on climate and weather codes
EU projects IS-ENES and PRACE.
Joachim Hein (LUNARC)LUNARCParallel programming
Performance optimisation
85Parallel programming support
Performance optimisation
HPC training
Lilit Axner (PDC)PDCComputational fluid dynamics50
Marcus Lundberg (UPPMAX)UPPMAXComputational science
Parallel programming
Performance tuning
100I help users with productivity, program performance, and parallelisation.

Availability

All SNIC resources


Resources

Tutorials and slide sets

  • A slide set by Pavan Balaji and Torsten Hoefler from 2013 introducing basic MPI concepts
  • Lecture slides from course on Extreme scale systems by William Gropp at the University of Illinois. The following lectures deal with MPI: 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37. This is an extremely comprehensive introduction to MPI.

Standard specificatons

License

Free (e.g. OpenMPI) and paid for (e.g. Intel MPI) implementations