OpenMP Programming 2-3.11.

OpenMP is an application programming interface designed to facilitate parallelism. It is the model of choice for shared-memory programming, which enables serial programs to be parallelised using compiler directives. Since its introduction in 1997, OpenMP has tracked the evolution of hardware used in high-performance computing including the increasing use of accelerators such as GPUs.
In this course the student will learn a wide range of OpenMP topics, starting from the basics before moving to really advanced topics.
Day 1 will cover the ”OpenMP common Core” while Day 2 will focus on how to get the best out of OpenMP in terms of performance by exploring the implications of possible OpenMP parallelization strategies. This includes tasking as well as data and thread locality on NUMA architectures. Each day will have a hands-on session and Q&A.
The material presented in this course is a prerequisite for the ”OpenMP offloading” course and specifically the knowledge of the tasking.



Session 1 10:00-12:00 CET (15 mins. break)Welcome Overview Parallel Region Worksharing Scoping Tasks & CompilersTasking introduction and motivation Task loop Dependencies Cut-off
Lunch break 12:00-13:00 CET  
Session 2 13:00-16:00 CET (15 mins. break)Dependencies Hands-on and Q&ANUMA Task Affinity Hands-on and Q&A


Basic C/C++ or Fortran knowledge. Connecting to a machine via SSH and be comfortable working with the command line environment is required for the hands-on
Participants will be selected based on expected benefit considering the motivation, expectation and prerequisite skills.


Dr.-Ing. Michael Klemm is part of the HPC Center of Excellence at AMD. His focus is on High Performance & Throughput Computing Enabling. He obtained an M.Sc. in Computer Science in 2003. He received a Doctor of Engineering degree (Dr.-Ing.) in Computer Science from the Friedrich-Alexander-University Erlangen-Nuremberg, Germany, in 2008. His research focus was on compilers and runtime optimizations for distributed systems. His areas of interest include compiler construction, design of programming languages, parallel programming, and performance analysis and tuning. He is CEO of the OpenMP Language Committee, where he is also leading the group on the OpenMP Error Model efforts.
Dr. Christian Terboven is a senior scientist and leads the HPC group at RWTH Aachen University. His research interests center around Parallel Programming and related Software Engineering aspects. Dr. Terboven has been involved in the Analysis, Tuning and Parallelization of several large-scale simulation codes for various architectures. He is responsible for several research projects in the area of programming models and approaches to improve the productivity and efficiency of modern HPC systems. He is further co-author of the new book “Using OpenMP – The Next Step“


Nicolino Lo Gullo (LUMI User Support Team)
Orian Louant (LUMI User Support Team)
For course information please contact the LUMI User Support Team