NERSCPowering Scientific Discovery for 50 Years

Introduction to OpenACC -- Part 1 of 3 OpenACC Training Series, April 17, 2020

April 17, 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.  OLCF and NERSC will both be holding events for each part of the series. Please see the topics of each part and dates here

Part 1 of 3:  Introduction to OpenACC

Date and Time: 10 am - 12 pm (Pacific time), Friday, April 17, 2020

The format of this event will be online only. NVIDIA will present via WebEx for the first ~1 hour and the WebEx session will be left open for the hands-on session, where representatives from OLCF, NERSC, and NVIDIA will be available to support remote participants. 

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.  

In this lesson, we provide an overview of OpenACC’s strengths, development cycle, and success stories. We will also show users how to begin porting their code to parallel hardware using the parallel directive and managed memory. To achieve this goal, we introduce our example code, which will be used in all three modules. We will port this small code, compile it, and run it on Summit to show the performance impact of even a basic implementation utilizing OpenACC.

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

Registration

Please register here.  

 

Presentation Materials 

  • Slides
  • Recording
  • Exercises: The example exercises for this module can be found in the "labs/lab1" 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).