Wind Tunnel: An Assignment for OpenMP, MPI and CUDA/OpenCL
Event Type
Workshop
Big Data
Education and Training and Outreach
HPC Training and Education
W
TimeSunday, 14 November 20214:10pm - 4:20pm CST
Location241
DescriptionWe present a new assignment for a Parallel Computing course to teach the approaches to the same problem in different parallel programming models. It targets concepts of shared-memory programming with OpenMP, distributed-memory programming with MPI, and GPU programming with CUDA or OpenCL. It is based on a simulation of air pressure and particles movement inside a wind tunnel with fixed obstacles. The program is designed to be simple, easy to understand, and to include specific parallelization and optimization opportunities. Although there is a quite direct parallel solution in the three programming models, the program has plenty of opportunities for further improvements. Compared to our previous assignments it introduces a different parallel pipeline approach and new optimization challenges. It introduces a progressive approach with optional levels of difficulty. It has been successfully used in parallel programming contests during an optional Parallel Programming course in the third year of Computer Engineering degree.

