

Advanced OpenMP: Performance and 6.0 Features
Monday, June 22, 2026 2:00 PM to 6:00 PM · 4 hr. (Europe/Berlin)
Hall X2 - 1st Floor
Tutorial
Compiler and Tools for Parallel ProgrammingParallel Programming Languages
Information
OpenMP is the leading, portable, and widely supported directive-based programming 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. Our two-part tutorial discusses language features in-depth, with an emphasis on advanced features like vectorization and compute acceleration. The first part focuses on performance aspects, such as data and thread locality on NUMA architectures, and exploitation of relatively new language features that support these aspects. The second part presents directives for attached compute accelerators. Throughout the tutorial, we discuss recent additions in OpenMP 6.0.
While we quickly review the basics of OpenMP programming, we assume attendees understand basic parallelization concepts and will easily grasp those basics. Our two-part tutorial discusses language features in-depth, with an emphasis on advanced features like vectorization and compute acceleration. The first part focuses on performance aspects, such as data and thread locality on NUMA architectures, and exploitation of relatively new language features that support these aspects. The second part presents directives for attached compute accelerators. Throughout the tutorial, we discuss recent additions in OpenMP 6.0.
Format
on-site
Targeted Audience
Our primary target is HPC programmers with some knowledge of OpenMP that want to implement efficient code for accelerated and shared memory systems.
Intermediate Level
50%
Advanced Level
50%
Prerequesites
Common knowledge of general computer architecture concepts (e.g., SMT, multi-core, and NUMA).
A basic knowledge of OpenMP, as (for example) taught in A Hands-On Introduction to OpenMP by Mattson et al.
Good knowledge of either C, C++, or Fortran.


