deep-learning-and-gpu-2020 - deep-learning-and-gpu-2020 - Training

CSC's trainings and events have moved

Find our upcoming trainings and events at

This site is an archive version and is no longer updated.

Go to CSC Customer trainings and Events
null deep-learning-and-gpu-2020
Deep Learning and GPU Programming Workshop
Date: 22.04.2020 9:00 - 24.04.2020 17:00
Location details: The event is organised at the CSC Training Facilities located in the premises of CSC at Keilaranta 14, Espoo, Finland. The best way to reach us is by public transportation; more detailed travel tips are available.
Language: english-language
lecturers: Dr. Momme Allalen (Germany)
PD Dr. Juan Durillo Barrionuevo (Germany)
Dr. Volker Weinberg (Cermany)
  • free-price-finnish-academics.
  • free-price-others.
The course materials, lunches as well as morning and afternoon coffees are free of charge.
The seats are filled in the registration order. If you have registered to this course and you are not able to attend, please cancel your registration in advance by sending an e-mail to
Additional Information
This course is part of the PRACE Training activity. Please visit the PRACE Training portal for further information about the course. For content please contact, for practicalities


NVIDIA Deep Learning Institute (DLI) offers hands-on training for developers, data scientists, and researchers looking to solve challenging problems with deep learning. The workshop combines lectures about fundamentals of Deep Learning for Computer Vision with lectures about Accelerated Computing with CUDA C/C++ and 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.

Prerequisites and content level

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).

Technical background, basic understanding of machine learning concepts, basic C/C++ or Fortran programming skills. Basics in Python will be helpful. Since Python 2.7 is used, the following tutorial can be used to learn the syntax:

The content level of the course is broken down as: beginner's - 5,9 h (30%), intermediate - 13,7 h (70%).

This workshop is co-organized by PRACE, Nvidia, CSC (Finland) and LRZ (Germany). All instructors are NVIDIA certified University Ambassadors.

Please find below the detailed description and learning outcomes of each day of the workshop.


Day1: Fundamentals of Deep Learning for Computer Vision

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.

Day 2: Fundamentals of Accelerated Computing with CUDA C/C++

The CUDA computing platform enables the acceleration of CPU-only applications to run on the world's fastest massively parallel GPUs. On the 2nd day you experience C/C++ application acceleration by:

  • Accelerating CPU-only applications to run their latent parallelism on GPUs

  • Utilizing essential CUDA memory management techniques to optimize accelerated applications

  • Exposing accelerated application potential for concurrency and exploiting it with CUDA streams

  • Leveraging command line and visual profiling to guide and check your work

Upon completion, you'll be able to accelerate and optimize existing C/C++ CPU-only applications using the most essential CUDA tools and techniques. You'll understand an iterative style of CUDA development that will allow you to ship accelerated applications fast.

Day 3: Fundamentals of Accelerated Computing with OpenACC

On the 3rd day 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.