June 16-20, 2013

Leipzig, Germany

Session Details

Name: Tutorial 12
Hands-on with OpenACC
Time: Sunday, June 16, 2013
2:00 PM - 6:00 PM
Room:   Lecture Room 11 (LR 11)
CCL - Congress Center Leipzig
Breaks:4:00 PM - 4:30 PM Coffee Break
Presenter(s):   Thomas Bradley, NVIDIA
  Jiri Kraus, NVIDIA
  Peter Messmer, NVIDIA
Abstract:   NVIDIA developer technology engineers present a hands-on tutorial on programming GPUs using OpenACC for scientific and engineering tasks.
Using OpenACC directives, developers can create high-level applications to execute on modern heterogeneous systems, combining CPUs and accelerators. In this tutorial you will learn about GPUs and how their high performance can be used to accelerate applications by adding simple OpenACC directives to familiar programming languages.
After an introduction to GPU programming, you will write your first OpenACC program to understand the concepts of how directives are structured and how to use the OpenACC compiler, building and running your program in the cloud on Amazon’s AWS. Building upon this first example, you will create a parallel program using the “parallel” directive. We will then have a closer look at the OpenACC memory model, learning how to manage data transfers both implicitly and explicitly. Particular focus will be on using compiler feedback and performance analysis to guide development, understanding how to manage data, especially in cases with a nested call graph.
For further performance optimisation you will learn about asynchronous execution and overlapping of data transfer with computation. You will also learn how to interoperate with other languages and libraries to maximise productivity.

Content Level
50% Beginner, 50% Intermediate

Attendees should bring a laptop with Ethernet/Wi-Fi and NX/ssh client. Remote access to GPUs will be provided, preparation instructions will be sent to subscribed attendees beforehand (last minute setup is possible).
Program may be subject to changes.