Skip navigation
Paperback | $61.00 Short | £50.95 | 336 pp. | 8 x 9 in | 114 b&w illus. | November 2014 | ISBN: 9780262527392
eBook | $43.00 Short | November 2014 | ISBN: 9780262326599
Mouseover for Online Attention Data

Using MPI, Third Edition

Portable Parallel Programming with the Message-Passing Interface


This book offers a thoroughly updated guide to the MPI (Message-Passing Interface) standard library for writing programs for parallel computers. Since the publication of the previous edition of Using MPI, parallel computing has become mainstream. Today, applications run on computers with millions of processors; multiple processors sharing memory and multicore processors with multiple hardware threads per core are common. The MPI-3 Forum recently brought the MPI standard up to date with respect to developments in hardware capabilities, core language evolution, the needs of applications, and experience gained over the years by vendors, implementers, and users. This third edition of Using MPI reflects these changes in both text and example code.

The book takes an informal, tutorial approach, introducing each concept through easy-to-understand examples, including actual code in C and Fortran. Topics include using MPI in simple programs, virtual topologies, MPI datatypes, parallel libraries, and a comparison of MPI with sockets. For the third edition, example code has been brought up to date; applications have been updated; and references reflect the recent attention MPI has received in the literature. A companion volume, Using Advanced MPI, covers more advanced topics, including hybrid programming and coping with large data.

About the Authors

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 Argonne Distinguished Fellow Emeritus at Argonne National Laboratory.

Anthony Skjellum is Professor of Software Engineering at Auburn University.


Using MPI (third edition) is a comprehensive treatment of the MPI 3.0 standard from a user’s perspective. It provides many useful examples and a range of discussion from basic parallel computing concepts for the beginner, to solid design philosophy for current MPI users, to advice on how to use the latest MPI features. The third edition of Using MPI is an essential resource for anyone designing and implementing distributed memory parallel programs.”
Michael A. Heroux, Distinguished Member of Technical Staff, Sandia National Laboratories; Scientist in Residence, St. John’s University
“This book does an excellent job of teaching the foundations of MPI. Its holistic approach, encompassing both MPI’s functionality and applications as well as its design and implementation, makes it not only highly instructive but also fun to read. I warmly recommend it to anyone looking for an introductory text on the subject, including users, students, and teachers.”
Felix Wolf, RWTH Aachen University
“This book is for anyone who is serious about using MPI in solving large-scale scientific computations. It brings together the current, up-to-date version and the MPI standard and expresses the advanced concepts through illustrations, algorithms, and example programming segments. The authors have all been involved in the evolution of MPI for the past 20 years and the book is required reading for taking the next step beyond the beginner's level.”
Jack Dongarra, Innovative Computing Laboratory, Electrical Engineering and Computer Science Department, University of Tennessee