TY - JOUR
T1 - A high-performance, portable implementation of the MPI message passing interface standard
AU - Gropp, William
AU - Lusk, Ewing
AU - Doss, Nathan
AU - Skjellum, Anthony
N1 - Funding Information:
Keywords: Message passing interface; Parallel programming environment; Benchmark, Performance; Portability; MPI-2 * Corresponding author. Email: lusk@mcs.anl.gov ’ This work was supported by the Mathematical, Information and Computational Sciences Division subprogram of the Office of Computational and Technology Research, U.S. Department of Energy, under Co;tract W-3 I - 109-Eng-38. This work was supported in part by the NSF Engineering Research Center for Computational Field Simulation, Mississippi State University. Additional support came from the NSF Career Program under grant ASC-95-01917, and from ARPA under Order D350.
PY - 1996/9
Y1 - 1996/9
N2 - MPI (Message Passing Interface) is a specification for a standard library for message passing that was defined by the MPI Forum, a broadly based group of parallel computer vendors, library writers, and applications specialists. Multiple implementations of MPI have been developed. In this paper, we describe MPICH, unique among existing implementations in its design goal of combining portability with high performance. We document its portability and performance and describe the architecture by which these features are simultaneously achieved. We also discuss the set of tools that accompany the free distribution of MPICH, which constitute the beginnings of a portable parallel programming environment. A project of this scope inevitably imparts lessons about parallel computing, the specification being followed, the current hardware and software environment for parallel computing, and project management; we describe those we have learned. Finally, we discuss future developments for MPICH, including those necessary to accommodate extensions to the MPI Standard now being contemplated by the MPI Forum.
AB - MPI (Message Passing Interface) is a specification for a standard library for message passing that was defined by the MPI Forum, a broadly based group of parallel computer vendors, library writers, and applications specialists. Multiple implementations of MPI have been developed. In this paper, we describe MPICH, unique among existing implementations in its design goal of combining portability with high performance. We document its portability and performance and describe the architecture by which these features are simultaneously achieved. We also discuss the set of tools that accompany the free distribution of MPICH, which constitute the beginnings of a portable parallel programming environment. A project of this scope inevitably imparts lessons about parallel computing, the specification being followed, the current hardware and software environment for parallel computing, and project management; we describe those we have learned. Finally, we discuss future developments for MPICH, including those necessary to accommodate extensions to the MPI Standard now being contemplated by the MPI Forum.
KW - Benchmark
KW - MPI-2
KW - Message passing interface
KW - Parallel programming environment
KW - Performance
KW - Portability
UR - http://www.scopus.com/inward/record.url?scp=0030243005&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0030243005&partnerID=8YFLogxK
U2 - 10.1016/0167-8191(96)00024-5
DO - 10.1016/0167-8191(96)00024-5
M3 - Article
AN - SCOPUS:0030243005
SN - 0167-8191
VL - 22
SP - 789
EP - 828
JO - Parallel Computing
JF - Parallel Computing
IS - 6
ER -