Advanced OpenMP: Performance and 6.0 Features

Advanced OpenMP: Performance and 6.0 Features

Friday, June 13, 2025 9:00 AM to 1:00 PM · 4 hr. (Europe/Berlin)
Hall Y12 - 2nd floor
Tutorial
Compiler and Tools for Parallel ProgrammingParallel Programming Languages

Information

OpenMP is the leading, portable, and widely supported shared-memory model. Developers usually find OpenMP easy to learn. However, they are often disappointed with the performance and scalability of the resulting code. This disappointment stems not from shortcomings of OpenMP, but rather from the lack of depth with which it is employed. Our “Advanced OpenMP Programming” tutorial addresses this critical need by exploring the
implications of possible OpenMP parallelization strategies, both in terms of correctness and performance.

While we quickly review the basics of OpenMP programming, we assume attendees understand basic parallelization concepts and will easily grasp those basics. In two parts we discuss language features in-depth, with emphasis on advanced features like vectorization and compute acceleration. In the first part, we focus on performance aspects, such as data and thread locality on NUMA architectures, and exploitation of the comparably new language features. The second part is a presentation of the directives for attached compute accelerators. Throughout the whole tutorial, we discuss the recent additions introduced with OpenMP 6.0.
Format
On Site
Targeted Audience
Our primary target is HPC programmers with some knowledge of OpenMP that want to implement efficient shared-memory code.
Intermediate Level
50%
Advanced Level
50%