The Message Passing Interface, or MPI, is a standard library of subroutines (Fortran) or function calls (C) that can be used to implement a message passing program. MPI allows for the coordination of a program running as multiple processes in a distributed memory environment, yet is flexible enough to also be used in a shared memory system.

The standardization of the MPI library makes it very powerful and enables source code portability since MPI programs should compile and run as-is on any platform. It also allows efficient implentations across a range of architectures, offers a great deal of functionality, including a number of different types of communication and special routines for common collective operations, the ability to handle user-defined data types and topologies, and support for heterogeneous parallel architectures.