Course

Porting of Codes for Next Generation GPU Architectures

Would you like to exploit the newest GPUs architectures and get unbeatable performance with your code?

Coderende coders
08 — 16 Dec 2022
Time
14.00 to 18.00
Location
Online

This online course consists of 4 afternoon sessions on the 8th, 9th, 15th and 16th of December, always from 14:00 until 18:00 CET.

With our portability course, you will have a unique opportunity to get a complete overview of the current GPU landscape. The talks and lectures with experts from SURF, the Netherlands and the United States will guide you through the different options that you have to exploit the performance of your code using GPUs. You will also have the opportunity to test your new skills during the hands-on exercises on the supercomputing facilities at SURF. Make sure that you don't miss this great chance to learn what GPUs can do for your code!

What?

In this course you will:

  • Explore the possibilities of optimization for your code on CPUs vs. GPUs
  • Implement directives to enable your code for GPUs using OpenACC and OpenMP
  • Understand how to implement efficient code structures for GPUs using HIP
  • Learn about GPU architectures and exascale-enabled codes from world-class experts

For whom?

Anyone who is interested in learning how to enhance the efficiency of codes using GPUs, starting from the beginning.

Requirements:

  • Basic knowledge of Linux
  • Basic knowledge of programming, particularly with C/C++ or Fortran
  • Basic knowledge of parallel computing. No specific experience with supercomputing systems is necessary.

You should have:

Your own laptop with an up-to-date browser and a terminal emulator. The use of the operating systems Linux and macOS is preferred, but not mandatory. For Windows users, we recommend to download MobaXterm (portable version) as a terminal emulator.

Timetable

8 December (Coordinator: Dr. Mohsen Safari, SURF)

14:00 - 14:15 Welcome and introduction
14:15 - 15:15 Introduction to accelerators (hardware)
15:15 - 15:30 Coffee break
15:30 - 16:45 Multi-node parallelization
16:45 - 17:00 Coffee break
17:00 - 17:30 Invited talk (use of GPUs)
17:30 - 18:00 Invited talk (use of GPUs)

9 December (Coordinator: Prof. Ana Lucia Varbanescu, University of Amsterdam, the Netherlands)

14:00 - 14:15 Invited talk (large-scale GPU applications)
14:15 - 15:00 Introduction to accelerators (software)
15:00 - 15:15 Coffee break
15:15 - 16:15 Portability and hands-on examples using OpenACC
16:15 - 16:30 Coffee break
16:30 - 18:00 Portability and hands-on examples using OpenACC

15 December (Coordinators: Prof. Remco Havenith, University of Groningen, the Netherlands, and Prof. Ana da Cunha, University of Antwerp, Belgium)

14:00 - 14:15 Invited talk (large-scale GPU applications)
14:15 - 15:00 Portability to GPUs using HIP
15:00 - 15:15 Coffee break
15:15 - 16:15 Portability to GPUs using OpenMP 5.0
16:15 - 16:30 Coffee break
16:30 - 18:00 Hands-on: Portability to GPUs using HIP and OpenMP 5.0

16 December (Coordinators: Dr. Ben van Werkhoven and Dr. Alessio Sclocco, Netherlands eScience Center, the Netherlands)

14:00 - 14:15 Invited talk (large-scale GPU applications)
14:15 - 15:20 Introduction to GPU programming
15:20 - 15:35 Coffee break
15:35 - 16:50 CUDA programming with hands-on exercises
16:50 - 17:05 Coffee break
17:05 - 18:00 GPU program execution and performance