CS in Parallel Image    Parallel Computing Books Available at learnpdc.org Learn PDC QR code


The Team: CSinParallel Project

Libby Shoop Dick Brown Joel Adams Suzanne Matthews
Libby Shoop
Macalester College
Dick Brown
St. Olaf College
Joel Adams
Calvin University
Suzanne Matthews
U.S. Military Academy
shoop@macalester.edu

Motivation

Curricular Guidelines: Parallel Computing needs to be included in courses at different levels

Instructors need

Students benefit from

First steps with OpenMP


Use in early courses

As you see fit: as little or as much as you want to try

PDC for Beginners


Use in a PDC Course, emphasizing Patterns and Scalability

As above, Ch. 0, 1, 4, 5, 6 of Beginners, plus more from Intermediate PDC

Mini-lecture presentations given before activities from book or GitHub repo.

Potential Course Plan
Wk HW/SW Topic Reading
Before
Class
In-Class Activity
1 Shared Mem
OpenMP
Beginners
Ch 0.0 - 0.2, 0.4
Intermediate
Ch.1.0-1.1
Intermediate Ch 2 program structure Demo
Fork-join, conductor-worker, barrier
2 Shared Mem
OpenMP
Beginners
Ch 1.2 - 1.3,
0.3.1 - 0.3.3
Intermediate Ch 2: parallel for loop, race condition, reduction;
trapezoidal rule scalability activity
3 Shared Mem
OpenMP
Intermediate
Ch 3.1
Intermediate Ch 3.2 (random number generation)
4 Shared Mem
OpenMP
Intermediate Ch. 2, rest of patternlets
5 Distributed
Mem MPI
Intermediate Ch. 4,
Program Structure Patterns
Message passing Patterns
6 Distributed
Mem MPI
Intermediate Ch. 4,
Collective Communication
Synchronization, code timing
7 Distributed
Mem MPI
Intermediate, Ch. 6,
Monte Carlo and trapezoidal rule examples
Additional MPI examples
8 Performance
Ahmdal,
Gustafson
Beginners
Ch 0.3.4-0.3.5
Catch up review, deeper look at scalability
8 GPU CUDA Beginners, Ch. 4
CUDA Basics
9 GPU CUDA Beginners Ch. 5
Matrix Multiply
9 GPU
OpenACC
Intermediate Ch. 7
OpenACC Basics
10 GPU
OpenACC
Intermediate Ch. 8
OpenACC next steps
Matrix Multiply

Additional Resources

Future Plans

  • Chapters with more examples
  • Additional exercises and projects

Contact Information

For questions or comments, please contact Libby Shoop at shoop@macalester.edu


Acknowledgments

The materials for learnpdc.org were developed under NSF grants DUE-1822480 / 1822486 / 1855761. Final development of PDC for Beginners and Intermediate PDC was sponsored by the United States Military Academy (USMA) and was accomplished under Cooperative Agreement Number W911NF-23-2-0044.