NCI logo and link to NCI home page

Home Notices and News Accounts Facilities, Software and Userguides Frequently Asked Questions Training Annual Reports
NCI National Facility MPI Programming Course

Summary: MPI is a standardized message passing library for writing parallel programs for a wide range of parallel computers from networks of PCs to high-end supercomputers. It requires no special hardware or commercial software. The course provides an introduction to and hands-on exercises in the elements of the MPI library including basic code development.
Outline:
  • Introduction and overview of message passing and MPI
  • MPI program structure
  • Messages
  • Point-to-point communication
  • Non-blocking communication
  • Collective communication
  • Miscellaneous (derived datatypes, MPI IO, topologies, MPI2, ...)
  • Debugging and Profiling
Course slides HTML of the course slides, separate html files per slide.
PDF of the course slides Single PDF document, with a new page for each slide.
Alternative PDF of the course slides Single PDF document, with a new page for each slide. Better for printing.
All the course slides HTML of all the slides in a single page.
Course Notes PDF and Postscript versions of course notes from the Edinburgh Parallel Computing Centre MPI course. The NCI National Facility course does not follow these completely in order.
Course Examples and Exercises A tar file comprising examples and course exercises with solutions.
MPI 1.1 Local copy of the MPI 1.1 standard in readable form with rationales and advice to users. This link to the index of MPI routines may be useful.
MPI 2.0 Local copy of the MPI 2.0 standard as an addition to the MPI 1.1 standard (less useful)
Books:
  • Using MPI, 2nd edition, Gropp et al, MIT Press, 1999.
  • MPI - The Complete Reference. Volume 1, The MPI Core, 2nd edition, Snir et al, MIT Press, 1999.
  • Using MPI-2, Advanced Features of ..., Gropp et al, MIT Press, 1999.
  • MPI - The Complete Reference. Volume 2, The MPI Extensions, Gropp et al, MIT Press, 1999.
Websites:
Libraries: Three freely available MPI libraries that you can download and install are OpenMPI (recommended), LAM and MPICH
Using MPI on the AC: See the NCI NF User Guide particularly the section on Using MPI on the AC.

Email problems, suggestions, questions to