Deep Learning and GPU programming using OpenACC

Research & Science
Deep Learning and GPU programming using OpenACC


NVIDIA Deep Learning Institute (DLI) offers hands-on training for developers, data scientists, and researchers looking to solve challenging problems with deep learning.

Learn how to train and deploy a neural network to solve real-world problems, how to generate effective descriptions of content within images and video clips and how to accelerate your applications with OpenACC.

The workshop combines lectures about fundamentals of Deep Learning for Computer Vision and Multiple Data Types with a lecture about Accelerated Computing with OpenACC.

The lectures are interleaved with many hands-on sessions using Jupyter Notebooks. The exercises will be done on a fully configured GPU-accelerated workstation in the cloud.

This workshop is organized in cooperation with LRZ (Germany) and Nvidia. All instructors are NVIDIA certified University Ambassadors.

This course is only open to academicals, i. e. students or members of universities.

Program (preliminary)

 1st day: Fundamentals of Deep Learning for Computer Vision (9:00 - 18:00)

Explore the fundamentals of deep learning by training neural networks and using results to improve performance and capabilities.

During this day, you’ll learn the basics of deep learning by training and deploying neural networks. You’ll learn how to:

  • Implement common deep learning workflows, such as image classification and object detection
  • Experiment with data, training parameters, network structure, and other strategies to increase performance and capability
  • Deploy your neural networks to start solving real-world problems

Upon completion, you’ll be able to start solving problems on your own with deep learning.

2nd day: Fundamentals of Deep Learning for Multiple Data Types  (9:00 - 18:00)

This day explores how convolutional and recurrent neural networks can be combined to generate effective descriptions of content within images and video clips.

Learn how to train a network using TensorFlow and the Microsoft Common Objects in Context (COCO) dataset to generate captions from images and video by:

  • Implementing deep learning workflows like image segmentation and text generation
  • Comparing and contrasting data types, workflows, and frameworks
  • Combining computer vision and natural language processing

Upon completion, you’ll be able to solve deep learning problems that require multiple types of data inputs.

3rd day: Guest Lecture & Fundamentals of Accelerated Computing with OpenACC (9:00 - 17:00)

On the 3rd day we start with a guest lecture (9:00 - 10:30) about Deep Neural Networks for Data-Driven Turbulence Models, using DL in CFD.
Dr.-Ing. Andrea Beck, Institute of Aerodynamics and Gas Dynamics, University of Stuttgart. The abstract can be found here. Slides of the talk.

In the second part (10:45 - 17:00) you learn the basics of OpenACC, a high-level programming language for programming on GPUs. Discover how to accelerate the performance of your applications beyond the limits of CPU-only programming with simple pragmas. You’ll learn:

  • How to profile and optimize your CPU-only applications to identify hot spots for acceleration
  • How to use OpenACC directives to GPU accelerate your codebase
  • How to optimize data movement between the CPU and GPU accelerator

Upon completion, you'll be ready to use OpenACC to GPU accelerate CPU-only applications.


Technical background, basic understanding of machine learning concepts, basic C/C++ or Fortran programming skills.

For the 1st day basics in Python will be helpful. Since Python 2.7 is used, the following tutorial can be used to learn the syntax:

For the 2nd day familiarity with TensorFlow will be a plus as all the hands-on sessions are using TensorFlow. For those who do not program in TensorFlow, please go over TensorFlow tutorial (especially the "Learn and use ML" section):




Dr. Yu Wang (LRZ), Dr. Volker Weinberg (LRZ) and Dr. Momme Allalen (LRZ), Dr. -Ing. Andrea Beck (IAG), Dr. Khatuna Kakhiani (HLRS)


via online registration form

This course is only open to academicals, i. e. students or members of universities.

Important Information: After you are accepted, please create an account under using the same email address as for event registration, since lab access is given based on the event registration list. Please be aware that for adminstrative reasons, after you register, Nvidia will use your email address to contact you for the final feedback of the Workshop.


for registration is June 30, 2019 (extended deadline).
Late registrations after the deadline are still possible but maybe with reduced quality of the handouts.


The workshop is free of charge for all academic participants and coffee breaks will be provided (lunch is not included).

Please note, that the workshop is exclusively for verifiable students, staff, and researchers from any academic institution (for industrial participants, please contact NVIDIA for industrial specific training). On the first day of the workshop, please bring your student/academia id.

NVIDIA Deep Learning Institute:

The NVIDIA Deep Learning Institute delivers hands-on training for developers, data scientists, and engineers. The program is designed to help you get started with training, optimizing, and deploying neural networks to solve real-world problems across diverse industries such as self-driving cars, healthcare, online services, and robotics.


Travel Information and Accommodation

see our How to find us page.


HLRS is part of the Gauss Centre for Supercomputing (GCS), which is one of the six PRACE Advanced Training Centres (PATCs) that started in Feb. 2012.
HLRS is also member of the Baden-Württemberg initiative bwHPC-C5.
This course is not part of the PATC curriculum and is not sponsored by the PATC program.

Local Organizer

Rolf Rabenseifner phone 0711 685 65530,
Lucienne Dettki phone 0711 685 63894,

Shortcut-URL & Course Number