Event Type
Tutorial

Parallel Programming Languages, Libraries, Models
and Notations
TimeMonday, November 13th8:30am -
12pm
Location210-212
DescriptionWith the increasing prevalence of multi-core
processors, shared-memory programming models are
essential. OpenMP is a popular, portable, widely
supported and easy-to-use shared-memory model. Since
version 3.0 released in 2008, OpenMP offers tasking to
support the creation of composable parallel software
blocks and the parallelization of irregular algorithms.
Developers usually find OpenMP easy to learn. However,
mastering the tasking concept of OpenMP requires a
change in the way developers reason about the structure
of their code and how to expose the parallelism of it.
Our tutorial addresses this critical aspect by examining
the tasking concept in detail and presenting patterns as
solutions to many common problems.
We assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. We present the OpenMP tasking language features in detail and focus on performance aspects, such as introducing cut-off mechanisms, exploiting task dependencies, and preserving locality. All aspects are accompanied by extensive case studies. Throughout all topics we present the recent additions of OpenMP 4.5 and extensions that have been subsequently adopted by the OpenMP Language Committee.
We assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. We present the OpenMP tasking language features in detail and focus on performance aspects, such as introducing cut-off mechanisms, exploiting task dependencies, and preserving locality. All aspects are accompanied by extensive case studies. Throughout all topics we present the recent additions of OpenMP 4.5 and extensions that have been subsequently adopted by the OpenMP Language Committee.
Links