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:
- What is MPI?
- Point to Point Communication Routines (four separate pages linked from the main page table of contents)
- Collective Communication Routines
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.