NCSA Home
Contact Us | Intranet | Search

ncsa

Introduction to MPI

MPI stands for Message Passing Interface. MPI is a standard protocol in terms of user interface. It uses the same function names, and MPI functions are called and arguments are passed in the same way across different platforms. It hides the underlying hardware implementation of how these functions work. You call MPI functions and pass ther arguments in the same way regardless of the platform. MPI is the leading message passing programming paradigm. The public domain implementation was written at Argonne National Laboratory and is currently available for virtually all major computer architectures.

Advantages of MPI

Although MPI came into the mainstream more recently than other message passing paradigms (e.g., PVM) it is a mature standard that has been available for several years. It has gained popularity because of the following features:

  • MPI provides a high degree of portability. An MPI source code can be ported to a different platform, compiled, and run without modification as long as the MPI library is available on the system.

  • MPI can run jobs across heterogeneous systems where a mixture of processors of different architecture is clustered together. The MPI library transparently does the appropriate data conversion when data are sent between different systems.

  • MPI standards are flexible. They specify what the MPI functions should do, but it is left to vendors how to implement them in the most efficient way that meets the standards.

  • MPI is widely supported by most vendors of parallel systems, who have developed highly optimized native implementations for systems such as the SGI Origin2000.

  • MPI offers a high degree of functionality with over 100 routines implemented in the MPI library.