Teaching shared memory parallel concepts with OpenMP (abstract only)

Joel C. Adams,Richard A. Brown,Elizabeth Shoop
DOI: https://doi.org/10.1145/2538862.2538999
2014-03-05
Abstract:Curriculum 2013 brings parallelism into the CS curricular mainstream. This hands-on workshop is intended for faculty with little or no background in parallel computing. OpenMP is a platform independent, industry-standard library for shared-memory parallel programming supported by all modern C and C++ compilers. The workshop introduces the basics of OpenMP multithreading using parallel patterns, including single program multiple data (SPMD) execution, fork-join threading, and pragmas for parallel loops, parallel blocks, mutual exclusion, etc. The workshop includes: (i) an overview of OpenMP, (ii) self-paced hands-on experimentation with the OpenMP programs, and (iii) a discussion of how these may be used to achieve the goals of Curriculum 2013. Workshop materials will be distributed from csinparallel.org. Participants will receive and explore 15 short programs designed to help students understand multithreading concepts, plus longer programs that use OpenMP to solve significant problems. A participant may explore these programs on their own laptop, provided it has installed a C/C++ compiler that supports OpenMP (e.g., gcc 4.2 or later; Visual Studio 2008 or later). Those comfortable with the command-line may explore the programs on our remote servers using a laptop or tablet with a suitable SSH client. Laptop recommended.
What problem does this paper attempt to address?