Workshop: EduHPC-22: Workshop on Education for High Performance Computing
Authors: Isabel Rosa, Alexandros-Stavros Iliopoulos, Charlotte Park, Tao B. Schardl, and Charles E. Leiserson (Massachusetts Institute of Technology (MIT))
Abstract: This assignment provides students with hands-on experience with engineering software for performance. Students are tasked with optimizing a graphical n-body simulation to run fast on a modern shared-memory multi-core using serial and parallel program optimizations. This open-ended assignment invites students to develop and test optimizations to make the program run as fast as possible while still producing the same results. Students learn how to diagnose performance bottlenecks, develop serial and parallel program optimizations, and evaluate the correctness and performance of their changes. We found that students in 6.172, MIT's undergraduate course on performance engineering of software systems, are excited by this project, especially seeing their optimizations improve the visual smoothness of the simulation and enable it to handle larger problem sizes within fixed time constraints. The materials for the assignment are publicly available at https://github.com/ailiop/EduHPC-22-Peachy-Sphere-Simulation.