This book covers essential concepts of the Message Passing Interface (MPI). From this book, the reader will gain insights into utilizing MPI to write portable parallel code. The book covers the following essential elements of MPI: Sending and receiving with MPI_Send and MPI_Recv; Dynamic receiving with MPI_Probe and MPI_Status; A collective communication introduction with MPI_Bcast; Common collectives – MPI_Scatter, MPI_Gather, and MPI_Allgather; and Using MPI_Reduce and MPI_Allreduce for parallel number reduction.
Along the way, the book provides a couple application examples of using the various MPI methods. The first application example is performing a random walk among processes. The second application example shows how to build a new MPI function, MPI_Rank, to compute the rank of a number across MPI processes.
Since many readers will not have access to a cluster on which to run MPI jobs, this book shows how to set up an MPI cluster using Amazon EC2.
This book was written by a previous grad student, Wesley Kendall, that heavily used MPI in his doctoral research. Since it was very hard to find high quality information about MPI on the internet (and cheap books about MPI), Wesley compiled various tutorials on mpitutorial.com. This book is the culmination of his beginner tutorials.
Along the way, the book provides a couple application examples of using the various MPI methods. The first application example is performing a random walk among processes. The second application example shows how to build a new MPI function, MPI_Rank, to compute the rank of a number across MPI processes.
Since many readers will not have access to a cluster on which to run MPI jobs, this book shows how to set up an MPI cluster using Amazon EC2.
This book was written by a previous grad student, Wesley Kendall, that heavily used MPI in his doctoral research. Since it was very hard to find high quality information about MPI on the internet (and cheap books about MPI), Wesley compiled various tutorials on mpitutorial.com. This book is the culmination of his beginner tutorials.