What is MPI, and where can I find information about using it?
Message Passing Interface (MPI) is a standardized message-passing system for distributed-memory applications used in parallel computing. The MPI standards (MPI-1, MPI-2, and MPI-3) provide portable, efficient, and flexible library routines for writing message-passing programs in the Fortran, C, and C++ programming languages. Open source implementations commonly used in research computing include MPICH, originally developed by Argonne National Laboratory (ANL), and Open MPI, developed by a consortium of academic, research, and industry partners; several commercial implementations of MPI have also been developed.
For MPI user documentation, see the MPICH and Open MPI project sites. The Cyberinfrastructure Tutor (CI-Tutor) site, hosted by the National Center for Supercomputer Applications (NCSA), offers two free, online tutorials:
Note: Everyone is welcome to use the CI-Tutor tutorials, but you must register first.
Versions of MPICH and Open MPI are available on the Big Red II II, Quarry, Mason, and Rockhopper research computing systems at Indiana University. For help with MPI on an IU research computing system, email the UITS Scientific Applications and Performance Tuning (SciAPT) team.
This document was developed with support from National Science Foundation (NSF) grant OCI-1053575. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the NSF.
Last modified on October 01, 2013.