Introduction to OpenMP Using the Interactive Parallelization Tool (IPT)
TimeMonday, July 238:30am - 12pm
DescriptionParallel programming is critical for efficiently using not only the current and future generation large-scale supercomputing platforms but also the now ubiquitous manycore and multi-core processors found in commodity hardware. There is a need for developing the workforce skilled at parallel programming. Towards this end, we propose a half-day tutorial on parallel programming using OpenMP. In this introductory level tutorial, we will provide an overview of the basic concepts of OpenMP. We will introduce the participants to the Interactive Parallelization Tool (IPT) that is designed for parallelizing serial C/C++ programs semi-automatically.
Lectures and hands-on sessions will be included in the tutorial agenda. The topics that will be covered in this tutorial include:
- General introduction to parallel programming in a shared-memory environment
- Introduction to OpenMP and the OpenMP syntax
- Introduction to the Interactive Parallelization Tool (IPT)
- Hands-on examples with IPT
- Understanding data dependencies and race conditions
- Understanding performance and speed-up
A version of this tutorial has been presented as XSEDE and TACC trainings in September 2017, and December 2017. There were more than 40 participants in each of these trainings. This tutorial may be most suitable for the “Workforce Development and Diversity” track of the PEARC18 conference. Another half-day tutorial on “Introduction to MPI programming using IPT” has also been proposed for PEARC18.