NERSCPowering Scientific Discovery for 50 Years

Introduction to OpenMP Offload, Aug-Sep 2022

August 11, 2022


This two-part OpenMP Offload training, offered by OLCF and NERSC, will enable application teams and developers to accelerate their codes with the use of GPUs as well as exploiting the latest OpenMP functionality to program multi-core platforms like Summit and Perlmutter. This training is also part of the OLCF’s Preparing for Frontier training series and will cover discussions about what you need to prepare for using OpenMP on Frontier.

  • Part 1: Basics of OpenMP Offload, 10 am - 12:30 pm (Pacific time), Thursday, August 11
  • Part 2: Optimization and Data Movement, 10 am -12:30 pm (Pacific Time), Thursday, September 1


The OpenMP API is a scalable model that gives parallel programmers a simple and flexible interface for developing portable parallel applications in C/C++ and Fortran. In its inception, it was targeted for shared memory parallelism, however current versions of OpenMP also enable data and program execution to offload from the host CPU to target GPUS and their associated memory on the same node.

For part 1 Basics of OpenMP Offload, we will give a general overview of the OpenMP programming model and cover the basics of using OpenMP directives to offload work to GPUs. Hands-on exercises will follow the lectures

For part 2 Optimization and Data Movement, OLCF/NERSC staff will cover optimization strategies and show how efficient data movement and a better understanding of the hierarchy of parallelism available can lead to improved performance.  NERSC/OLCF staff will also cover best practices for OpenMP Offload. Hands-on exercises will follow the lectures.

Target Audience

The target audience for this event are NERSC Perlmutter users and current OLCF users who do not yet have access to OLCF’s pre-Frontier (HPE+AMD) systems but would like to start learning how to program GPUs with OpenMP. The hands-on sessions will be performed on NERSC Perlmutter and OLCF Summit, with a variety of compilers, in both C and Fortran. Participants without existing accounts will be provided training accounts on Perlmutter.


Registration is required for part 1 and part 2 individually for remote participation.  

Presentation Materials