This page has the resources for Peachy Parallel Assignments, assignments shared so that others can adopt them while teaching topics in parallel and distributed computing. They are a submission category at the EduPar and EduHPC conferences and are peer reviewed to ensure they meet the following criteria:
- Tested: All Peachy Parallel Assignments have been successfully used with real students.
- Adoptable: Peachy Parallel Assignments are easy to adopt. This includes not only the provided materials, but also the content being covered. Ideally, the assignments cover widely-taught concepts using common parallel languages and widely-available hardware, have few prerequisites, and (with variations) are appropriate for different levels of students.
- Cool and inspirational: Peachy Assignments are fun and inspiring for students. They encourage students to spend time with the relevant concepts. Ideal Peachy Assignments are those that students want to demonstrate to their roommate.
Peachy assignments are intended to be the analog of Nifty assignments for parallel and distributed computing.
Try out these assignments using the materials below. Then remember to share your own awesome assignments by submitting them to the next conference with a Peachy contest!
-
-
"Using MPI For Distributed Hyper-Parameter Optimization And Uncertainty Evaluation" by Erik Pautsch, John Li, Silvio Rizzi, George K. Thiruvathukal, and Maria Pantoja (
paper on figshare)
-
"1D Heat Equation in Chapel" by Jeremiah Corrado and Daniel Fedorin (
paper on figshare)
-
-
"Parallelizing a 1-Dim Nagel-Schreckenberg Traffic Model" by Ramses van Zon and Marcelo Ponce (
paper on arxiv)
-
"Program Your Favorite Data Science Pipeline in Spark" by H. Martin Bücker, Marieke Plesske, Johannes Schoder, Wolf Weber (
paper on figshare)
-
"K-means clustering: An assignment for OpenMP, MPI, and CUDA/OpenCL" by Diego García-Alvarez and Arturo Gonzalez-Escribano (
paper on figshare)
-
-
Simulation and Rendering of Colliding Spheres” by Isabel Rosa, Charlotte Park, Alexandros-Stavros Iliopoulos, Tao B. Schardl, and Charles E. Leiserson (
link)
-
Hill Climbing with Monte Carlo: An Assignment for OpenMP, MPI, and CUDA/OpenCL, Arturo Gonzalez-Escribano, Yuri Torres, and Rocío Carratalá-Sáez (
link)
- Paper summarizing all assignments
- Performance and Carbon Footprint of Distributed Workflow Executions by Luyen, Casanova, Ferrera Da Silca (link)
- Warming Stripes: A Cool Start to Big Data Processing by Bücker, Schoder (link)
- Abelian Sandpile Simulation by Lasserre, Namyst Wacrenier (pdf, zip)
- Paper summarizing all assignments
- Computing a Movie of Zooming into a Fractal by Martin Burtscher (writeup, materials for assignment (zip))
- Optimization of an Image Processing Algorithm: Histogram Equalization by Julian Gutierrez, David Kaeli, Fritz Previlon (writeup, materials for assignment (zip))
- OpenMP: What’s Inside the Black Box? by Eduard Ayguade, Fabio Francisco, Lluc Alvarez (writeup, materials for assignment (zip))
- The Wave Equation as a Motivating Example for High Performance Computing by David Joiner (materials for assignment (zip))
- Storms of High-Energy Particles: An assignment for OpenMP, MPI, and CUDA/OpenCL by Arturo Gonzalez-Escribano, Eduardo Rodriguez-Gutiez (materials for assignment (external link))
- Using the Monte Carlo Pattern to Simulate a Forest Fire by Joel C. Adams (writeup, materials for assignment)
- Fire Simulator and Fractals: using a visualization library to introduce CUDA by Tia Newhall and Andrew Danner (writeup, materials for assignment (external link))
- Peachy Unplugged Parallels by David W. Brown (writeup)
- Reproducibility in Parallel Computing using Floating-Point Arithmetic by Ganesh Gopalakrishnan (writeup)
- Data Races are Pure Evil: A Simple Java-based Illustration by Ganesh Gopalakrishnan (writeup)
- Parallel Programming Performance Hinges on Memory Access Efficiency by Ganesh Gopalakrishnan (writeup)