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.


These experts have registered specific competence on this subject:

  FieldAE FTEGeneral activities
Anders Sjöström (LUNARC)LUNARCGPU computing
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
Sensitive data
100I help users with productivity, program performance, and parallelisation. I also work with allocations and with sensitive data questions


All SNIC 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


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