Scientific and Engineering Computation
Using Advanced MPI
Modern Features of the Message-Passing Interface
392 pp., 8 x 9 in, 140 b&w illus.
- Published: November 7, 2014
- Publisher: The MIT Press
A guide to advanced features of MPI, reflecting the latest version of the MPI standard, that takes an example-driven, tutorial approach.
This book offers a practical guide to the advanced features of the MPI (Message-Passing Interface) standard library for writing programs for parallel computers. It covers new features added in MPI-3, the latest version of the MPI standard, and updates from MPI-2. Like its companion volume, Using MPI, the book takes an informal, example-driven, tutorial approach. The material in each chapter is organized according to the complexity of the programs used as examples, starting with the simplest example and moving to more complex ones.
Using Advanced MPI covers major changes in MPI-3, including changes to remote memory access and one-sided communication that simplify semantics and enable better performance on modern hardware; new features such as nonblocking and neighborhood collectives for greater scalability on large systems; and minor updates to parallel I/O and dynamic processes. It also covers support for hybrid shared-memory/message-passing programming; MPI_Message, which aids in certain types of multithreaded programming; features that handle very large data; an interface that allows the programmer and the developer to access performance data; and a new binding of MPI to Fortran.
With the ubiquitous use of multiple cores to accelerate applications ranging from science and engineering to Big Data, programming with MPI is essential. Every software developer for high performance applications will find this book useful for programming on modern multicore, cluster, and cloud computers.
David A. Bader, Professor and Chair, School of Computational Science and Engineering, Georgia Institute of Technology; editor of Petascale Computing: Algorithms and Applications
These authors are experts in MPI, but more importantly, they are experts at teaching MPI. If you want to master MPI, then there are no better guides than this book and its companion.
Rob Ross, Mathematics and Computer Science Division, Argonne National Laboratory
MPI has turned out a surprisingly robust interface for programming the full scale of parallel systems. Understanding of MPI has evolved considerably in recent years, and this book is an essential companion to modern MPI and for learning how to use the interface efficiently. The book is much more than a welcome update to the earlier Using MPI-2, and covers aspects (such as library building, large data, tool interface, modern remote-memory access programming, and modern Fortran) not dealt with anywhere else in an accessible way.
Jesper Larsson Träff, Faculty of Informatics, Vienna University of Technology (TU Wien)