|Name:||Tutorial 11: Programming Accelerators with OpenACC & CUDA C/Fortran|
|Time:||Sunday, June 17, 2012
9:00 AM - 6:00 PM
Hamburg University, East Wing
|Speakers:||Thomas Bradley, NVIDIA|
|Peter Messmer, NVIDIA|
|Michael Wolfe, The Portland Group|
|Abstract:||NVIDIA engineers and The Portland Group present a tutorial on programming GPUs using the newly available OpenACC compilers and CUDA for scientific and engineering tasks. OpenACC directives allow developers to make simple and portable code changes, enabling an easier migration to accelerated computing.
In the morning session you start by learning about GPUs and how their high performance can be used to accelerate your applications. After an introduction to GPU programming the focus will be on understanding core OpenACC concepts and directives; you will learn how to identify suitable algorithms, how to deploy directives for heterogeneous computing, how to compile and build applications with directives, and how to get compiler feedback to identify areas for further improvement.
The afternoon session looks further into GPU programming; you will look in detail at the OpenACC directives for compute and data regions and learn about scheduling and potential pitfalls, all of this comes together with a walkthrough of a more complex example. Having learned how OpenACC can be used to accelerate your applications you will finish by looking at how OpenACC can be combined with other CUDA technologies such as math libraries, CUDA C and CUDA Fortran, and Thrust for further speedups.