NERSCPowering Scientific Discovery for 50 Years

OpenACC Data Management -- Part 2 of 3 OpenACC Training Series, May 28, 2020

May 28, 2020

Introduction

OpenACC is a directive-based approach to parallel programming for heterogeneous architectures, where developers specify regions of code (written in C, C++, and Fortran) to be offloaded from a host CPU to a GPU. This approach is meant to reduce the amount of programming effort required of developers relative to low-level models, such as CUDA.

NVIDIA will present a 3-part OpenACC training series intended to help new and existing GPU programmers learn to use the OpenACC API. Each part will include a 1-hour presentation and example exercises. The exercises are meant to reinforce the material from the presentation and can be completed during a 1-hour hands-on session following each lecture (for in-person participants) or on your own (for remote participants).  OLCF and NERSC will both be holding in-person events for each part of the series. Please see the topics of each part and dates here

Part 2 of 3:  OpenACC Data Management

Date and Time: 10 am - 12 pm (Pacific time), Thursday, May 28, 2020

The format of this event will be online only.  OpenACC is a user-driven directive-based performance-portable parallel programming model designed for scientists and engineers who are interested in porting their codes to a wide variety of heterogeneous HPC hardware platforms and architectures. 

Since heterogeneous HPC systems utilize accelerators with their own onboard memory, we need to learn how to manage our data. OpenACC provides a number of directives for doing so. In this module, we will present these directives, apply them to our example code, and show the performance impact on Summit.

After the presentation, there will be a hands-on session where participants can complete example exercises meant to reinforce the presented concepts and get help from the experts. 

Registration

Please register here.  This event is online only.

 

Presentation Materials 

  • Slides
  • Recording: TBA (to be posted shortly after the event)
  • Exercises: The example exercises for this module can be found in the "labs/lab2" folder of this GitHub repo
  • Survey: Please help us to provide feedback by completing a 3-min short survey (click "Survey" located at the end of this page).