PRACE Course: Fundamentals of Accelerated Computing with CUDA C/C++ and OpenACC @ Ostrava

PRACE-logo-small

Date:

Wednesday, February 5 - Thursday, February 6, 2020, 9:00-17:00
Location:

VŠB - Technical University Ostrava, IT4Innovations building, room 207

Contents:

Overview

Learn how to accelerate your applications 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.

The workshop is co-organized by LRZ, IT4Innovations and NVIDIA Deep Learning Institute (DLI) for the Partnership for Advanced Computing in Europe (PRACE). Both IT4Innovations and LRZ as part of GCS are PRACE Training Centres which serve as European hubs and key drivers of advanced high-quality training for researchers working in the computational sciences.

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

 All instructors are NVIDIA certified University Ambassadors.

Agenda

1st day: 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 1st 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.

2nd day: Fundamentals of Accelerated Computing with OpenACC

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

Important information

  • After you are accepted, please create an account under courses.nvidia.com/join 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.
  • You must bring your own laptop to this workshop.

  • Ensure your laptop will run smoothly by going to http://websocketstest.com/ Make sure that WebSockets work for you by seeing under Environment, WebSockets is supported and Data Receive, Send and Echo Test all check Yes under WebSockets (Port 80).If there are issues with WebSockets, try updating your browser.

PRACE Training and Education

The mission of PRACE (Partnership for Advanced Computing in Europe) is to enable high-impact scientific discovery and engineering research and development across all disciplines to enhance European competitiveness for the benefit of society.  PRACE has an extensive education and training effort through seasonal schools, workshops and scientific and industrial seminars throughout Europe. Seasonal Schools target broad HPC audiences, whereas workshops are focused on particular technologies, tools or disciplines or research areas.

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.

PRACE-logo-smallScreen Shot 2017-12-13 at 12.24.46  it4i_white-small

Prerequisites Basic C/C++ or Fortran programming skills. In addition, basics in Python will be helpful. Since Python 2.7 is used, the following tutorial can be used to learn the syntax: docs.python.org/2.7/tutorial/index.html.
Content Level:

The content level of the course is broken down as:

Beginner's content: 0h 0%
Intermediate content: 13h 100%
Advanced content: 0,0h 0%
Community-targeted content: 0,0h 0%

Language: English
Teachers: Dr. Momme Allalen, Dr. Volker Weinberg (LRZ and NVIDIA University Ambassadors)
Registration:

http://nvidiaacademy.it4i.cz/

Fee: This course is a PRACE Advanced Training Center event. Therefore, the course is free of charge for all students and researchers from the EU or from PRACE-member-countries.
Contact: Dr. Volker Weinberg (LRZ)
Event-Webpage:

http://nvidiaacademy.it4i.cz/