A hands-on introduction to parallel programming based on the Message-Passing Interface (MPI) standard, the de-facto industry standard adopted by major vendors of commercial parallel systems. This textbook/tutorial, based on the C language, contains many fully-developed examples and exercises. The complete source code for the examples is available in both C and Fortran 77. Students and professionals will find that the portability of MPI, combined with a thorough grounding in parallel programming principles, will allow them to program any parallel system, from a network of workstations to a parallel supercomputer.
* Proceeds from basic blocking sends and receives to the most esoteric aspects of MPI. * Includes extensive coverage of performance and debugging. * Discusses a variety of approaches to the problem of basic I/O on parallel machines. * Provides exercises and programming assignments.Chapter 1 Introduction Chapter 2 An Overview of Parallel Computing Chapter 3 Greetings! Chapter 4 An Application: Numerical Integration Chapter 5 Collective Communication Chapter 6 Grouping Data for Communication Chapter 7 Communicators and Topologies Chapter 8 Dealing with I/O Chapter 9 Debugging Your Program Chapter 10 Design and Coding of Parallel Programs Chapter 11 Performance Chapter 12 More on Performance Chapter 13 Advanced Point-to-Point Communication Chapter 14 Parallel Algorithms Chapter 15 Parallel Libraries Chapter 16 Wrapping Up Appendix A Summary of MPI Commands Appendix B MPI on the Internet ...the detailed discussion of many complex and confusing issues makes the book an important information source for programmers developing large applications using MPI. -- L.M. Liebrock, ACM Computing Reviews