PRACE Course: OpenMP Programming Workshop 2020


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.

Since its advent in 1997, the OpenMP programming model has proved to be a key driver behind parallel programming for shared-memory architectures.  Its powerful and flexible programming model has allowed researchers from various domains to enable parallelism in their applications.  Over the more than two decades of its existence, OpenMP has tracked the evolution of hardware and the complexities of software to ensure that it stays as relevant to today’s high performance computing community as it was in 1997.

This workshop will cover a wide range of  topics, reaching from the basics of OpenMP programming using the "OpenMP Common Core" to really advanced topics. During each day lectures will be mixed with hands-on sessions on the LRZ system IvyMUC.

Group Picture

© Alessandro Podo (LRZ)

The group picture in full resolution can be found here.

Preliminary Agenda

Day 1

Day 2

Day 3


Introduction to the OpenMP common core


Offloading to Accelerators


Coffee Break

Coffee Break

Coffee Break


Decomposing code into patterns for parallelization


Other Advanced Features of OpenMP 5.0


Lunch Break

Lunch Break

Lunch Break


Beyond OpenMP common core with tasking and offloading

Host Performance: NUMA

Tools for Performance and Correctness


Coffee Break

Coffee Break

Coffee Break


Hands-on time with Parallelware Trainer

Host Performance: SIMD

Roadmap / Outlook
(until 16:30)

17:00-18:00 Guided SuperMUC-NG Tour

19:30 Social Event (Augustiner)


Teachers:Dr. Manuel Arenaz (Appentra Solutions),  Dr.-Ing. Michael Klemm (Intel Corporation), Dr. Christian Terboven (RWTH Aachen University)
Assistants:Dr. Michele Martone (LRZ)


Day 1

Material provided under /lrz/sys/courses/openmp/Appentra/

Day 2 & 3

Material provided under /lrz/sys/courses/openmp/exercises/


Day 1:

Day 2&3: exercises.tar


Please fill out the survey under

IvyMUC Usage

General Information about the Linux-Cluster:

Login to the system:

ssh -Y -l hpckurs??

Load pwtrainer module:

module use -a  /lrz/sys/share/modules/extfiles

module load pwtrainer

Load recent gcc version

module load gcc

module load gcc/9

do not use old gcc 4.8 version under /usr/bin/gcc , which is the gcc used when not loading any gcc module

Run pwtrainer:


Sample batch file:


Submit a job:

sbatch --reservation=homp1w19_course

srun --reservation=homp1w19_course program

List own jobs:

squeue -M ivymuc -u hpckurs??

Cancel jobs:

scancel jobid

Interactive Access: (not recommended for this course)

salloc --nodes=1 --time=02:00:00 --reservation=homp1w19_course  --partition=ivymuc_batch

srun --reservation=homp1w19_course --pty bash

X11 and ssh Clients

Login under Windows:

Login under Mac:

Login under Linux:

  • Open xterm
  • ssh -Y -l username
  • Use user name and password (provided by LRZ staff)

Social Event   

Place guaranteed only for participants who signed up for the social event (12 persons).

Wednesday, 12 February 2020, 19:30 - open end

Garchinger Augustiner

Gesindehaus GmbH
Freisinger Landstraße 4
85748 Garching b. München

089 20 966 739