Abstract
Parallel numerical software based on the message passing model is enormously complicated. This paper introduces a set of techniques to manage the complexity, while maintaining high efficiency and ease of use. The PETSc 2.0 package uses object-oriented programming to conceal the details of the message passing, without concealing the parallelism, in a high-quality set of numerical software libraries. In fact, the programming model used by PETSc is also the most appropriate for NUMA shared-memory machines, since they require the same careful attention to memory hierarchies as do distributed-memory machines. Thus, the concepts discussed are appropriate for all scalable computing systems. The PETSc libraries provide many of the data structures and numerical kernels required for the scalable solution of PDEs, offering performance portability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Gagan Agrawal, Alan Sussman, and Joel Saltz. Compiler and runtime support for unstructured and block structured problems. In Proceedings of Supercomputing ‘83, pages 578–587, 1993.
Brett M. Averick, Richard G. Carter, and Jorge J. Moré. The MINPACK-2 test problem collection. Technical Report ANL/MCSTM-150, Argonne National Laboratory, 1991.
Satish Balay, William Gropp, Lois Curfman McInnes and Barry Smith. PETSc 2.0 User’s Manual. Technical Report ANL-95/11, Argonne National Laboratory, November 1995.
Satish Balay, William Gropp, Lois Curfman McInnes, and Barry Smith. PETSc home page. http://www.mcs.anl.gov/petsc/petsc.html, December 1996.
A. M. Bruaset and H. P. Langtangen. A Comprehensive set of Tools for Solving Partial Differential Equations: Diffpack. In M. Dæhlen and A. Tveito, editors, Numerical Methods and Software Tools in Industrial Mathematics, pages 63–92. Birkhäuser, 1997.
Greg Burns, Raja Daoud and James Vaigl. LAM: An open cluster environment for MPI. In John W. Ross, editor, Proceedings of Supercomputing Symposium ‘84, pages 379–386. University of Toronto, 1994.
William Gropp, Ewing Lusk, Nathan Doss and Anthony Skjellum. A high-performace, portable implementation of the MPI message passing interface standard. Parallel Computing, 22:789–828, 1996.
William Gropp, Ewing Lusk, Nathan Doss and Anthony Skjellum. MPICH home page. http://www.mcs.anl.gov/mpi/mpich/index.html, December 1996.
William Gropp, Ewing Lusk and Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1994.
R. W. Hockney and C. R. Jesshope. Parallel Computers 2. Adam Hilger, 1988.
Scott A. Hutchinson, John N. Shadid and Ray S. Tuminaro. Aztec User’s Guide Version 1.1. Technical Report SAND95/1559, Sandia National Laboratories, October 1995.
Mark T. Jones and Paul E. Plassmann. BlockSolve v1.1: Scalable library software for the parallel solution of sparse linear systems. Technical Report ANL-92/46, Argonne National Laboratory, 1992.
Mark T. Jones and Paul E. Plassmann. A parallel graph coloring heuristic. SIAM J. Sci. Comput., 14(3):654–669, 1993.
Jorge J. Moré, Danny C. Sorenson, Burton S. Garbow, and Kenneth E. Hillstrom. The MINPACK project. In Wayne R. Cowell, editor, Sources and Development of Mathematical Software, pages 88–111, 1984.
MPI: A message-passing interface standard. International J. Super-computing Applications, 8(3/4), 1994.
NAS Parallel Benchmarks home page. http://www.nas.nasa.gov/NAS/NPB/index.html, December 1996.
J. V. W. Reynders, J. C. Cummings, P. J. Rinker, M. Tholburn, M. Srikant S. Banerjee, S. Karmesin, S. Atlas, K. Keahey and W. F. Humphrey. POOMA: A Frame Work for Scientific Computing Applications on Parallel Architectures, chapter 14. 1996.
Barry F. Smith and William D. Gropp. The design of data-structureneutral libraries for the iterative solution of sparse linear systems. Scientific Programming, 5:329–336, 1996.
Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker and Jack Dongarra. MPI• The Complete Reference. MIT Press, 1995.
Thinking Machines Corporation. Users Manual for CM-Fortran. Thinking Machines Corporation, 1993.
M. D. Tidriri. Krylov methods for compressible flows. Technical Report 95–48, ICASE, June 1995.
D. Whitfield and L. Taylor. Discretized Newton-relaxation solution of high resolution flux-difference split schemes. In Proceedings of the AIAA Tenth Computational Fluid Dynamics Conference, pages 134–145, 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media New York
About this chapter
Cite this chapter
Balay, S., Gropp, W.D., McInnes, L.C., Smith, B.F. (1997). Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds) Modern Software Tools for Scientific Computing. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4612-1986-6_8
Download citation
DOI: https://doi.org/10.1007/978-1-4612-1986-6_8
Publisher Name: Birkhäuser, Boston, MA
Print ISBN: 978-1-4612-7368-4
Online ISBN: 978-1-4612-1986-6
eBook Packages: Springer Book Archive