Tutorial on Advanced Programming with MPI
Using MPI-2: A Problem-Based Approach
Full-Day Tutorial with Exercises
William D. Gropp and Ewing Lusk
Argonne National Lab, USA
Abstract. MPI-2 introduced many new capabilities, including dynamic process management, one-sided communication, and parallel I/O. Implementations of these features are becoming widespread. This tutorial shows how to use these features by showing all of the steps involved in designing, coding, and tuning solutions to specific problems. The problems are chosen for their practical use in applications as well as for their ability to illustrate specific MPI-2 topics. Complete examples will be discussed and full source code will be made available to the attendees.
Each example will include a hands-on lab session; these sessions will also introduce the use of performance and correctness debugging tools that are available for the MPI environment. Examples in C, Fortran, and C++ will be included. Familiarity with basic MPI usage will be assumed.
About the speakers.
William Gropp is a Senior Computer Scientist and Associate Director of the Mathematics and Computer Science Division, a Senior Scientist in the Department of Computer Science at the University of Chicago, and a Senior Fellow in the Argonne-Chicago Computation Institute. His research interests are in parallel computing, software for scientific computing, and numerical methods for partial differential equations. He has played a major role in the development of the MPI message-passing standard. He is 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 has written many books and papers on MPI including “Using MPI” and “Using MPI-2”. He is also one of the designers of the PETSc parallel numerical library, and has developed efficient and scalable parallel algorithms for the solution of linear and nonlinear equations. Ewing Lusk is a Senior Computer Scientist in the Mathematics and Computer Science Division at Argonne National Laboratory. His research interests are in portable parallel-programming libraries, performance visualization, and automated theorem proving. He was a member of the MPI Forum from the beginning and played a leading role in the MPI-2 standardization process. He is one of the designers of MPICH and is a co-author of the books “Using MPI”, “Using MPI-2”, and “MPI – The Complete Reference: Volume 2, the MPI-2 Extensions”