Skip to main content

PMPI: High-level message passing in Fortran77 and C

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1225))

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. O. Coulaud and E. Dillon. Early implementation of Para++ with MPI-2. In MPI Developers Conference, University of Notre Dame, June 1996.

    Google Scholar 

  3. I. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Distributed Computing, 1994.

    Google Scholar 

  4. Message Passing Interface Forum. MPI: A message-passing interface standard. International Journal of Supercomputer Applications, 8(3/4), 1994.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. V. Getov. The GENESIS benchmark suite: Part 2. In 1st RAPS Tutorial GMD, Sept 1992.

    Google Scholar 

  7. W. Gropp, E. Lusk, and A. Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. Scientific and Engineering Computation. MIT Press, 1994.

    Google Scholar 

  8. Michael Hennecke. A Fortran 90 interface to MPI version 1.1. Internal Report 63/96, RZ Uni Karlsruhe, D-76128 Karlsruhe, 10 June 1996.

    Google Scholar 

  9. Dennis Kafura and Liya Huang. mpi++: A C++ language binding for MPI. In MPI Developers Conference, University of Notre Dame, June 1995.

    Google Scholar 

  10. M. Metcalf and J. Reid. Fortran 90 Explained. Oxford University Press, 1994.

    Google Scholar 

  11. C. Pallot. Object-oriented message passing in Fortran-77. Master's thesis, University of Westminster, 1993.

    Google Scholar 

  12. Rice University, Houston, Texas. High Performance Fortran Language Specification, 1.1 edition, May 93.

    Google Scholar 

  13. M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI: The Complete Reference. MIT Press, 1996.

    Google Scholar 

  14. K. Solchenbach. Fortran for SUPRENUM — an MIMD/SIMD language. Supercomputer, 6(2), March 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bob Hertzberger Peter Sloot

Rights and permissions

Reprints 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

Publish with us

Policies and ethics