Introduction to OpenMP Offload, Aug-Sep 2022
Introduction
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
Overview
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
Registration is required for part 1 and part 2 individually for remote participation.
- Part 1 registration (scroll to the bottom)
- Part 2 registration (scroll to the bottom)
Presentation Materials
- Slides below
- Day 1 recording (for all three Day 1 talks)
- Day 2 recording: Introduction to OpenMP: Data Movement
- Day 2 recording: OpenMP Offload Best Practices
Downloads
-
OLCF-Intro-to-OpenMP-Aug11.pdf | Adobe Acrobat PDF fileIntroduction to OpenMP Offload slides, Part 1, Aug 11
-
Perlmutter-OpenMP-offload.pdf | Adobe Acrobat PDF fileUsing OpenMP Offload Compilers on Perlmutter slides, Aug 11
-
OLCF-OMP-Day2.pdf | Adobe Acrobat PDF fileIntroduction to OpenMP Device Offload: Dave Movement, Part 2, Sept 1
-
nersc-best-practices-sep-1-2022.pdf | Adobe Acrobat PDF fileBest Practices for OpenMP, Part 2, Sept 1