Programming Irregular Applications with OpenMP: A Hands-On Introduction
Event Type
Tutorial
Algorithms
Intermediate
Programming Systems
Location250-C
DescriptionOpenMP 1.0 (released in 1997) focused on loop-level parallelism. This works well for “regular applications” where the parallelism maps nicely onto blocks of loop iterations. For problems based on traversing linked lists, recursive algorithms, or other “irregular applications”, a loop based approach is difficult to use.
To handle these irregular problems, tasks were added to OpenMP 3.0 (released in 2008). A task is an instance of executable code and its data environment. They weren’t just grafted onto the older, loop-oriented OpenMP core. The entire specification had to be carefully restructured to make sure threads, tasks, worksharing constructs, and the rest of OpenMP all worked together in a single system.
In this tutorial, we assume students already know the fundamentals of OpenMP. We will explore tasks through a sequence of exercises designed to help people learn how to use tasks in application programs. This will be a hands-on tutorial. We expect students to use their own laptops (with Windows, Linux, or OS X). We will have access to systems with OpenMP (a remote SMP server), but the best option is for students to load an OpenMP compiler onto their laptops before the tutorial. Information about OpenMP compilers is available at www.openmp.org.
To handle these irregular problems, tasks were added to OpenMP 3.0 (released in 2008). A task is an instance of executable code and its data environment. They weren’t just grafted onto the older, loop-oriented OpenMP core. The entire specification had to be carefully restructured to make sure threads, tasks, worksharing constructs, and the rest of OpenMP all worked together in a single system.
In this tutorial, we assume students already know the fundamentals of OpenMP. We will explore tasks through a sequence of exercises designed to help people learn how to use tasks in application programs. This will be a hands-on tutorial. We expect students to use their own laptops (with Windows, Linux, or OS X). We will have access to systems with OpenMP (a remote SMP server), but the best option is for students to load an OpenMP compiler onto their laptops before the tutorial. Information about OpenMP compilers is available at www.openmp.org.










