An Introduction to Parallel Programming, 2nd ed.


Peter Pacheco


Matthew Malensek

The second edition of An Introduction to Parallel Programming is also an elementary introduction to programming parallel systems with MPI, Pthreads, and OpenMP. However, this edition also includes an introduction to programming GPUs using CUDA. The book should be used by students and professionals with some knowledge of programming conventional, single-processor systems, but who have little or no experience programming multiprocessor systems.

Here's an archive of the source code that's discussed in the book.

Please note:

The website for the second edition has been moved here. Please make a note of it. This page won't be updated and will eventually go away.

Please also note:

Lecture notes, and other companion materials are in preparation. They will be posted as soon as they become available. In the meantime, the materials for the first edition may be helpful. Links are available here.
Last updated September 7, 2022