We will work through these modules together in class. Check the schedule for what we are covering.
- Module 0: Getting Started with PicoCluster — Connect to the cluster, use shell commands, and edit files.
- Module 1: C and Performance Basics — Compile C programs, measure runtime, and explore memory locality.
- Module 2: Introduction to MPI — Run multiple processes, send messages, and combine partial results.
- Module 3: MPI Collective Communication — Share input, combine results, and estimate an area; optional parallel timing.
- Module 4: Distributing Arrays with MPI — Use scatter and gather to work on pieces of an array.
- Module 5: Talking to Neighboring Processes — Exchange boundary values and model one step of heat flow.
- Module 6: Estimating Pi with MPI — Estimate pi with a Monte Carlo simulation, reduction, and timing.
- Module 7: More MPI: Improving a Program and Sorting with Neighbors — Revisit the book’s trapezoid program and sort values through neighbor exchanges.
- Module 8: Introduction to Pthreads — Create and join threads, compare shared memory with MPI processes, and divide a sum safely.