Intermediate Parallel and Distributed Computing

By: Elizabeth Shoop (CSinParallel project and Macalester College)

With assistance and inspiration from Joel Adams, Richard Brown, and Suzanne Matthews (The CSinParallel project team)

This book is designed as a follow-on from our PDC for Beginners book. If you already have some experience with OpenMP, MPI, and CUDA coding, then you may be able to start with this book.

A hallmark of this book, like PDC for Beginners, is that the programs presented here can be run directly from this book, enabling learners to experience PDC concepts immediately.

All of the code in this book can be found on a GitHub repo for the CSInParallel Project. Please feel free to explore that if you want to have your students try the code on lab machines.

NOTE: THIS BOOK IS A WORK IN PROGRESS! However, there are eight solid chapters available. We hope to add further examples and suggestions for projects based on starting point code representing real-world high-performace computing problems. So please stay tuned!

Table of Contents

To Cite:

Shoop E., and members of CSInParallel. Intermediate PDC, 1.0 Edition. Available online


This work is sponsored in part by National Science Foundation logo

U.S. National Science Foundation (NSF) Collaborative Research Grants DUE-1822480/1822486/1855761. Collaborative Research: CSinParallel: Experiential Learning of Parallel and Distributed Computing through Sight, Sound, and Touch.

This work is also sponsored in part by: Department of Defense Logo

United States Military Academy (USMA) Award Number W911NF-23-2-0044. USMA, as the Federal awarding agency, reserves a royalty-free, nonexclusive and irrevocable right to reproduce, publish, or otherwise use this software for Federal purposes, and to authorize others to do so in accordance with 2 CFR 200.315(b).


Creative Commons Logo

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

You have attempted of activities on this page