Abstract
The Message-Passing Interface (MPI) provides support for portable parallel programs, but often proves too complex to be convenient. In this paper we propose a higher-level Programmer's Message-Passing Interface (PMPI) to the standard MPI libraries that is better suited to the needs of application programmers. PMPI largely hides the binding of message-passing routines to the programming language. It has fewer operations than MPI, and with simpler arguments. Our high-level interface has been implemented by a preprocessor for C and Fortran77 programs, which expands PMPI source statements into corresponding MPI calls. As an automatic tool, the preprocessor substantially reduces the development cycle of message-passing programs. For instance, the PMPI versions of several benchmarks are significantly shorter and easier to understand than the MPI originals. We also quote performance figures for the PMPI versions of two of NAS parallel benchmarks on a Cray T3D showing the feasibility of our approach.
Preview
Unable to display preview. Download preview PDF.
References
PARKBENCH Committe (assembled by R. Hockney and M. Berry). PARKBENCH report — 1: Public international benchmarks for parallel computers. Scientific Programming, 3(2):101–146, 1994.
O. Coulaud and E. Dillon. Early implementation of Para++ with MPI-2. In MPI Developers Conference, University of Notre Dame, June 1996.
I. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Distributed Computing, 1994.
Message Passing Interface Forum. MPI: A message-passing interface standard. International Journal of Supercomputer Applications, 8(3/4), 1994.
Ian Foster, Ming Xu, Bhaven Avalani, and Alok Choudhary. A compilation system that integrates High Performance Fortran and Fortran M. In Proc. 1994 Scalable High Performance Computing Conf., page July. IEEE Computer Science Press, 1994.
V. Getov. The GENESIS benchmark suite: Part 2. In 1st RAPS Tutorial GMD, Sept 1992.
W. Gropp, E. Lusk, and A. Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. Scientific and Engineering Computation. MIT Press, 1994.
Michael Hennecke. A Fortran 90 interface to MPI version 1.1. Internal Report 63/96, RZ Uni Karlsruhe, D-76128 Karlsruhe, 10 June 1996.
Dennis Kafura and Liya Huang. mpi++: A C++ language binding for MPI. In MPI Developers Conference, University of Notre Dame, June 1995.
M. Metcalf and J. Reid. Fortran 90 Explained. Oxford University Press, 1994.
C. Pallot. Object-oriented message passing in Fortran-77. Master's thesis, University of Westminster, 1993.
Rice University, Houston, Texas. High Performance Fortran Language Specification, 1.1 edition, May 93.
M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI: The Complete Reference. MIT Press, 1996.
K. Solchenbach. Fortran for SUPRENUM — an MIMD/SIMD language. Supercomputer, 6(2), March 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mintchev, S., Getov, V. (1997). PMPI: High-level message passing in Fortran77 and C. In: Hertzberger, B., Sloot, P. (eds) High-Performance Computing and Networking. HPCN-Europe 1997. Lecture Notes in Computer Science, vol 1225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031632
Download citation
DOI: https://doi.org/10.1007/BFb0031632
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62898-9
Online ISBN: 978-3-540-69041-2
eBook Packages: Springer Book Archive