MPI. Message Passing Interface. MPI is the most common interface of data exchange in parallel programming, it is implemented for most computer platforms. MPI provides the programmer with a single mechanism of interaction between branches inside a parallel application independently from the hardware architecture (single-processor with shared/divided memory) and positional relationship of branches (on one processor or on several). Among main MPI's advantages in comparison to other communicational libraries' interfaces there are the following:
But MPI developers are strongly criticized for making the interface too heavy and complicated for an application programmer. The interface appeared to be complicated for implementation as well. As the result there are now no implementations of MPI in which exchanges and calculations are combined completely.