The MPI specification was developed by the MPI Forum, a group of software developers, computer vendors, academics, and computer-science researchers whose goal was to develop a standard for writing message-passing programs that would be efficient, flexible, and portable.
The outcome, known as the MPI Standard, was first published in 1993. The most recent version (MPI-2) was published in 1997. It was well received, and several implementations are available publicly.
Sun MPI is a complete library of message-passing routines, including all MPI 1.2-compliant and MPI 2-compliant routines. Chapter 2 provides an overview of the routines, Appendix A summarizes them, and the Sun man pages provide detailed descriptions.
Sun MPI Features
- Optimization for running with Sun HPC ClusterTools 5 software using C, C++, Fortran 77, or Fortran 90.
- Integration with the Sun HPC ClusterTools Runtime Environment (CRE) and the Sun GridEngine, LSF, and PBS distributed resource-management systems.
- Support for multithreaded programming.
- Seamless use of various network protocols.
- Multiprotocol support so that MPI selects the fastest available medium for each type of connection (such as shared memory, RSM, and ATM).
- Communication by shared memory for fast performance on clusters of SMPs
- Finely tunable shared-memory communication.
- Optimized collectives for symmetric multiprocessors (SMPs) and clusters of SMPs.
- MPI I/O support for parallel file I/O.
- Prism support, so that users can develop, run, and debug programs in the Prism programming environment.
- Implicit co-scheduling, whereby the Sun HPC spind daemon enables certain processes of a given MPI job on a shared-memory system to be scheduled at approximately the same time as other related processes. This co-scheduling reduces the load on the processors, thus reducing the effect that MPI jobs have on each other.
- Complete support of one-sided communication routines and name-publishing routines.
- Dynamic library support.
- MPI-2 dynamic support.
Sun MPI and MPI I/O provide full F77, C, and C++ support, as well as Basic F90 support.
Sun MPI I/O
File I/O in Sun MPI uses MPI 2-compliant routines for parallel file I/O. Chapter 4 describes these routines. Their man pages are provided online, and the routines are summarized in Appendix A.