Dear visitors, For the second half of 2022 we are preparing the following training events. Please note that the dates are preliminary, and we will be confirming the courses and opening registration closer to the listed dates. # Date Title Trainers 1 September 2022 Access to LUMI B. Jansík, J. Vicherek, G. Zitzlsberger 2 October 2022 CUDA L. Říha 3 October 2022 Intel oneAPI course and hackathon Intel team, G. Zitzlsberger 4 November 2022 Qiskit – quantum computing programming model IBM representative 5 29.11. 2022 Data science with R and Python G. Zitzlsberger 6 7.-8.12.2022 OpenMP Ch. Terboven, M. Klemm, We would appreciate your help with the Intel oneAPI course and hackathon that we are preparing together with Intel. Please fill in this short survey (3 mins): We will use the responses to tailor the course. Users who fill in the survey will be given priority when invitations for the course are sent. Thank you. We look forward to seeing you at one of these courses. IT4Innovations training team

Advanced OpenMP Programming - Host Performance and Accelerator Offloading (IT4I training)

207 (VŠB - Technical University Ostrava, IT4Innovations building)


VŠB - Technical University Ostrava, IT4Innovations building

Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic


With the increasing prevalence of multicore processors, shared-memory programming models are essential. OpenMP is a popular, portable, widely supported and easy-to-use 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 with 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. We assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. We focus on performance aspects, such as data and thread locality on NUMA architectures, false sharing, and exploitation of vector units, and present the directives for attached compute accelerators. All topics are accompanied with extensive case studies and we discuss the corresponding language features in-depth.

Purpose of the course (benefits for the attendees)

The course will improve users' understanding of OpenMP and its new features, to make the best use of this standard on modern computer architectures.

About the tutor(s)

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 a co-author of a book Using OpenMP – The Next Step.

Tim Cramer is post-doctoral researcher in the HPC group at RWTH Aachen University, Germany. He earned his doctoral degree in Computer Science from RWTH Aachen University in 2017. His research focus is the correctness and performance analysis for parallel programs for homogeneous and heterogeneous architectures. As a member of the High-Performance Computing group Dr. Cramer is involved in support for users of the RWTH Compute Cluster and the development of compiler and runtime support for OpenMP Target Offloading.


This work was supported by The Ministry of Education, Youth and Sports from the Large Infrastructures for Research, Experimental Development and Innovations project „IT4Innovations National Supercomputing Center – LM2015070“

  • Wednesday, 28 November
    • 09:30 10:00
    • 10:00 11:30
      Introduction to Parallel Programming with OpenMP: Part I; Lab: OpenMP Part I
    • 11:30 13:00
      Lunch break 1h 30m
    • 13:00 14:30
      Introduction to Parallel Programming with OpenMP: Part II; Lab: OpenMP Part II
    • 14:30 15:00
      Coffee break 30m
    • 15:00 16:30
      Advanced OpenMP Programming: Part I; Lab: OpenMP Part III
    • 16:30 17:00
      Coffee break 30m
    • 17:00 18:00
      Correctness and Performance Tools for OpenMP
      • 17:00
        Coffee break 30m
  • Thursday, 29 November
    • 09:00 10:30
      Programming Accelerators with OpenMP
    • 10:30 11:00
      coffee break 30m
    • 11:00 12:30
      Advanced OpenMP Programming: Part II; Lab: OpenMP Part IV
    • 12:30 13:45
      lunch break 1h 15m
    • 13:45 15:30
      Summary, Future OpenMP Directions and Q & A