Abstract:
Peachy Parallel Assignments are model assignments for teaching parallel computing concepts. They are competitively selected for being adoptable by other instructors and "cool and inspirational" for students. Thus, they allow instructors to easily add high-quality assignments that will engage students to their classes.
This group of Peachy assignments features two new assignments. The first has students speed up a graphical $n$-body simulation by identifying performance bottlenecks, making algorithmic improvements, and parallelizing the program using OpenCilk. The second has them parallelize a Monte Carlo hill climbing algorithm using one or more of OpenMP, MPI, and CUDA or OpenCL.