Using MPI: Portable Parallel Programming with the Message-passing Interface, Volume 1

Front Cover
MIT Press, 1999 - Computers - 371 pages

The Message Passing Interface (MPI) specification is widely used for solving significant scientific and engineering problems on parallel computers. There exist more than a dozen implementations on computer platforms ranging from IBM SP-2 supercomputers to clusters of PCs running Windows NT or Linux ("Beowulf" machines). The initial MPI Standard document, MPI-1, was recently updated by the MPI Forum. The new version, MPI-2, contains both significant enhancements to the existing MPI core and new features.Using MPI is a completely up-to-date version of the authors' 1994 introduction to the core functions of MPI. It adds material on the new C++ and Fortran 90 bindings for MPI throughout the book. It contains greater discussion of datatype extents, the most frequently misunderstood feature of MPI-1, as well as material on the new extensions to basic MPI functionality added by the MPI-2 Forum in the area of MPI datatypes and collective operations. Using MPI-2 covers the new extensions to basic MPI. These include parallel I/O, remote memory access operations, and dynamic process management. The volume also includes material on tuning MPI applications for high performance on modern MPI implementations.

 

Contents

1
10
2
18
3
29
7
37
9
61
4
69
4
93
8
100
Other Features of MPI
195
Understanding how MPI Implementations Work
253
Beyond Message Passing
273
Glossary of Selected Terms
279
A Summary of MPI1 Routines and Their
289
B The MPICH Implementation of MPI
329
The MPE Multiprocessing Environment
337
MPI Resources on the World Wide Web
345

5
111
Parallel Libraries
157

Other editions - View all

Common terms and phrases

Popular passages

Page 356 - In Proceedings of the 1st Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing, pages 298-302, Los Alamitos, March 30-April 3 1998.

About the author (1999)

William Gropp is Director of the Parallel Computing Institute and Thomas M. Siebel Chair in Computer Science at the University of Illinois Urbana-Champaign. Ewing Lusk is Senior Computer Scientist, MCS Division, both at Argonne National Laboratory. Anthony Skjellum is Professor of Software Engineering at Auburn University.

Bibliographic information