PRACE Course: OpenMP Programming Workshop 2021


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.


Workshop Participants 2021  © LRZ 2021

Tentative Agenda


Day 1

Day 2

Day 3

09:00-10:30 CET


Tasking 1

  • Tasking Intro
  • Lab 1

GPUs

  • OpenMP for Compute Accelerators

10:45-12:15 CET


Tasking 2

  • Taskloop
  • Dependencies
  • Cancellation
  • Lab 2

Tools for Perf. and Correctness

  • VI-HPS Tools for Performance
  • VI-HPS Tools for Correctness

13:00-14:45 CET

Introduction to OpenMP

 

Host Perf.: SIMD

  • Vectorisation
  • Lab 3

Misc. OpenMP 5.0 Features

  • DOACROSS Loops

15:00-16:00 CET

Hands-on: Introduction to OpenMP

Host Perf.: NUMA

  • Memory Access
  • Task Affinity
  • Memory Management
  • Lab 4

Roadmap / Outlook

  • Open Discussion
  • OpenMP 5.0 and beyond

End: approx. 16:30 CET

Lecturers

Dr.-Ing. Michael Klemm (OpenMP ARB, AMD), Dr. Christian Terboven (RWTH Aachen University)

Slides

Day 1

Day 2

Day 3

Exercises

See https://github.com/cterboven/OpenMP-tutorial-PRACE

Survey

Please fill out the PRACE online survey under https://tinyurl.com/omp-workshop-survey

This helps us and PRACE to

  • increase the quality of the courses,
  • design the future training programme at LRZ and in Europe according to your needs and wishes,
  • get future funding for training events,
  • shape the future system architecture at LRZ.