Storms of High-Energy Particles: An assignment for OpenMP, MPI, and CUDA/OpenCL
TimeSunday, November 11th4:07pm - 4:10pm
DescriptionWe present an assignment used in a Parallel Computing course to teach the approaches to the same problem in different parallel programming models. It targets basic concepts of shared-memory programming with OpenMP, distributed-memory programming with MPI, and GPU programming with CUDA or OpenCL. This assignment is based on a highly simplified simulation of the impact of high-energy particle storms in an exposed surface. The idea is inspired by simulations to test the robustness of space-vessels material. The program is designed from scratch to be simply, easy to understand by students, and to include specific parallel structures and optimization opportunities. A simple parallelization in the three models considered is quite direct. But the program is plenty of opportunities for further improvements, optimizations, and more sophisticated techniques usage. It has been successfully used in parallel programming contests during our course, using the performance obtained by the students code as a measure of success.