Bill Gropp
Argonne National Laboratory
gropp@mcs.anl.gov
The Message Passing Interface (MPI) provides a powerful, scalable
programming model that is especially well-suited to clusters. The
emergence of implementations of MPI-2, which provides many new features
that extend the message-passing programming model, makes possible new
applications and programming methods. This tutorial discusses both the new
features in MPI-2, such as dynamic process creation, remote-memory access,
and parallel I/O, along with techniques to achieve high performance with
MPI-1 on clusters. Each of these is illustrated with a complete example
program that discusses the use of MPI features in a cluster context.
William Gropp received his B.S. in Mathematics from Case Western Reserve
University in 1977, a MS in Physics from the University of Washington in
1978, and a Ph.D. in Computer Science from Stanford in 1982. He held the
positions of assistant (1982-1988) and associate (1988-1990) professor in
the Computer Science Department or Yale University. In 1990, he joined the
Numerical Analysis group at Argonne, where he is Associate Division
Director and Senior Computer Scientist. He also holds the position of
Senior Scientist in the Computer Science Department at the University of
Chicago, and Senior Fellow in the Computation Institute of Argonne National
Laboratory and the University of Chicago. His research interests are in
parallel computing, software for scientific computing, and numerical
methods for partial differential equations. He is a co-author of the most
widely used implementation of MPI, MPICH, and was involved in the MPI Forum
as a chapter author for both MPI-1 and MPI-2. He is one of the designers
of the PETSc parallel numerical library, and has developed efficient
parallel algorithms for the solution of linear equations. He was a member
of a team that was awarded a Gordon Bell Prize in 1999 for contributions in
high performance computing.