An Introduction to Parallel Programming Author:Peter Pacheco Until recently parallel programming was considered a skill needed by a relatively small number of specialists. As a consequence most programmers and many computer science students have at best a nodding acquaintance with any aspect of parallel computing. However, with the advent of widely available clusters and multicore processors, parallel pro... more »gramming is no longer just for specialists. In order to fully exploit the power of these systems, it's essential that many more programmers learn the basics of distributed- and shared-memory parallel programming.
Many colleges and universities are integrating parallel programming into their computer science cirricula. Furthermore, because of the huge increase in availability of parallel hardware, many programming professionals need a relatively elementary introduction to parallel programming. This book meets the needs of both audiences.
The book covers parallel programs using MPI-1, Pthreads, and OpenMP -- designing, debugging and performance evaluation of distributed- and shared-memory programs. The author uses a tutorial approach, introducing a problem in a given setting (e.g., matrix multiplication on a distributed memory system) and systematically developing a complete, working program for solving the problem.
Key features:
* the first undergraduate text to directly address compiling and running parallel programs on the new multi-core and cluster architecture
* takes a tutorial approach, starting with small programming examples and building progressively to more challenging examples
* focuses on designing, debugging and evaluating the performance of distributed and shared-memory programs
* stresses hands-on development of parallel programs, using MPI, Pthreads, and OpenMP programming models
* concentrates on parallel, rather than distributed, computing
* focuses on the development of complete applications
* chapter exercises require students to compile, run and modify example programs« less