Parallel Programming in C with Mpi and Openmp(English, Paperback, Quinn Michael)
Quick Overview
Product Price Comparison
The era of practical parallel programming has arrived, marked by the popularity of the MPI and Open MP software standards and the emergence of commodity clusters as the hardware platform of choice for an increasing number of organizations. This exciting new book, Parallel Programming in C with MPI and Open MP addresses the needs of students and professionals who want to learn how to design, analyze, implement, and benchmark parallel programs in C using MPI and/or Open MP. It introduces a rock-solid design methodology with coverage of the most important MPI functions and Open MP directives. It also demonstrates, through a wide range of examples, how to develop parallel programs that will execute efficiently on today's parallel platforms. Salient Features A five-chapter, tutorial introduction to the MPI library. A carefully crafted series of example programs in Chapters 4, 5, 6, 8, and 9 gradually introduces 27 key MPI functions. Collective communication functions are presented before point-to-point message passing, making it easier for inexperienced parallel programmers to write correct parallel code. A tutorial introduction to Open MP. A progressively more complicated series of code segments, functions, and programs allows each Open MP directive or function to be introduced just in time to meet a need. Introduction to hybrid parallel programming using both MPI and Open MP. This is often the most effective way to program clusters constructed out of symmetrical multiprocessors. An emphasis on design, analysis, implementation, and benchmarking. Chapter 3 introduces a rigorous parallel algorithm design process, which is used throughout the rest of the book to develop parallel algorithms for a wide variety of applications. The book repeatedly demonstrates how benchmarking a sequential program and carefully analyzing a parallel design can lead to accurate predictions of the performance of a parallel program. An exceptional chapter on performance analysis. The book takes a single, generic speedup formula and derives from it Amdahl's Law, Gustafson-Barsis's Law, the Karp-Flatt metric, and the iso efficiency metric. Readers will learn the purpose of each formula and how they relate to each other. Parallel algorithms for a wide variety of applications. The book considers parallel implementations of Floyd's algorithm, matrix-vector multiplication, matrix multiplication, Gaussian elimination, the conjugate gradient method, finite difference methods, sorting, the fast Fourier transform, backtrack search, branch-and-bound, and more. Thorough treatment of Monte Carlo algorithms. A full chapter on this often-neglected topic introduces problems associated with parallel random number generation and introduces random walks, simulated annealing, the Metropolis algorithm, and much more. A complete set of solutions and lecture slides, password-protected for instructor use only, are available through the book's listing at http://www.mhhe.com/quinn.