The '''Message Passing Interface''' ('''MPI''') is a [[computer]] communications [[protocol (computing)|protocol]]. It is a ''[[de facto]]'' [[standardization|standard]] for [[communication]] among the nodes running a [[parallel programming|parallel program]] on a [[Distributed shared memory|distributed memory system]]. MPI implementations consist of a library of routines that can be called from [[Fortran]], [[C programming language|C]], [[C++]] and [[Ada programming language|Ada]] programs. The advantage of MPI over older message passing libraries is that it is both portable (because MPI has been implemented for almost every distributed memory architecture) and fast (because each [[implementation]] is optimized for the [[hardware]] on which it runs). Often compared with PVM and at one stage merged with [[Parallel Virtual Machine|PVM]] to form PVMMPI.