2022-07-12 Deep Learning and GPU programming using OpenACC @ HLRS (hdlw3s22)

CourseDeep Learning and GPU programming using OpenACC @ HLRS (register via HLRS)
Numberhdlw3s22
Places available65
Date12.07.2022 – 14.07.2022
Price€ 0.00
PlaceUniversität Stuttgart - Höchstleistungsrechenzentrum Stuttgart
Nobelstraße 19
70569 Stuttgart
Room0.439 / Rühle Saal
Registration deadline13.06.2022 23:55
E-maileducation@lrz.de

This course will take place on-site at HLRS in Stuttgart!

Registration

Please register with your official e-mail address to prove your affiliation via https://www.hlrs.de/training/2022/dl-nvidia

Overview

Learn how to accelerate your applications with OpenACC, how to train and deploy a neural network to solve real-world problems, and how to effectively parallelize training of deep neural networks on Multi-GPUs.

The workshop combines lectures about Fundamentals of Deep Learning and Fundamentals of Deep Learning for Multi-GPUs 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 cluster in the cloud.

The first three days are organized in cooperation with LRZ (Germany) and NVIDIA. All instructors are NVIDIA certified University Ambassadors. On the last day, you will learn more about DL on the systems at HLRS.

1st day: Fundamentals of Accelerated Computing with OpenACC (9:00 - 17:00)

On the first 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.

2nd day: Fundamentals of Deep Learning  (9:00 - 17: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.

3rd day: Fundamentals of Deep Learning for Multi-GPUs (9:00 - 17:00)

The computational requirements of deep neural networks used to enable AI applications like self-driving cars are enormous. A single training cycle can take weeks on a single GPU or even years for larger datasets like those used in self-driving car research. Using multiple GPUs for deep learning can significantly shorten the time required to train lots of data, making solving complex problems with deep learning feasible.

On the third day we will teach you how to use multiple GPUs to train neural networks. You'll learn:

  • Approaches to multi-GPUs training
  • Algorithmic and engineering challenges to large-scale training
  • Key techniques used to overcome the challenges mentioned above

Upon completion, you'll be able to effectively parallelize training of deep neural networks using TensorFlow.

In addition, we will give an online introduction on how ML Examples and Methods can be used on HLRS's systems (tbc, online using zoom, Friday, July 15, 14:00 - 16:30)

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.

Prerequisites

For day one, you need basic experience with C/C++ or Fortran. Suggested resources to satisfy prerequisites: the learn-c.org interactive tutorial, https://www.learn-c.org/.

On day two, you need an understanding of fundamental programming concepts in Python 3, such as functions, loops, dictionaries, and arrays; familiarity with Pandas data structures; and an understanding of how to compute a regression line.
Suggested resources to satisfy prerequisites: Python Beginner’s Guide.

Experience with Deep Learning using Python 3 and, in particular, gradient descent model training will be needed on day three.

Familiarity with TensorFlow and Keras will be a plus as it will be used in the hands-on sessions. For those who did not use these before, you can find tutorials here: github.com/tensorflow/docs/tree/master/site/en/r1/tutorials/keras.

https://www.tensorflow.org/tutorials/

Hands-On

On the first three days, the exercises will be carried out on a cloud system using Jupyter Notebooks.

Language

English 

Lecturers

Dr. Momme Allalen, PD Dr. Juan Durillo Barrionuevo, Dr. Volker Weinberg (LRZ and NVIDIA University Ambassadors).
Teaching Assistants: Dr. Tobias Haas, Dr. Khatuna Kakhiani, Dr.-Ing. Lorenzo Zanon (HLRS).

Prices and Eligibility

The course is open and free of charge for academic participants.


No.DateTimeLeaderLocationRoomDescription
112.07.202209:00 – 17:00Volker WeinbergUniversität Stuttgart - Höchstleistungsrechenzentrum Stuttgart0.439 / Rühle SaalLecture
213.07.202209:00 – 17:00Juan Durillo BarrionuevoUniversität Stuttgart - Höchstleistungsrechenzentrum Stuttgart0.439 / Rühle SaalLecture
314.07.202209:00 – 17:00Juan Durillo BarrionuevoUniversität Stuttgart - Höchstleistungsrechenzentrum Stuttgart0.439 / Rühle SaalLecture