Message Passing Interface (MPI) is a standardized library and platform for parallel computing in distributed memory systems. As the name implies, the primary method for interacting between threads is passing “messages” (via a network or via shared memory), and it provides a variety of commonly-used higher-level communication primitives as well.

Reading

  • IBM’s Redbook “Practical MPI Programming” - Chapter 1: Introduction to Parallel Programming
    • IBM no longer provides this document on their website, but others have mirrored a PDF: www.cs.kent.ac.uk
  • LLNL’s MPI tutorial provides a good introduction to and simple reference for MPI programming. In particular, the following sections are most relevant and useful:

Supplemental

  • MPITutorial.com provides readable, illustrated, well-explained tutorials on some basic MPI concepts.
  • Introduction to Parallel Computing: Parallel Examples - Section F (Parallel Examples) contains several example MPI programs.
  • The later chapters of IBM’s Redbook (above) are also great references for MPI programming, including well-illustrated documentation for the most common MPI subroutines.