Oct 9 – 10, 2024
ONLINE
Europe/Prague timezone

Annotation

The main goal of the course is to introduce how to program GPU-accelerated applications using CUDA programming.  

We will describe the main principles of heterogeneous or accelerated computing (with a short hardware description of the GPU-accelerated supercomputers) needed to properly understand how to design CUDA code.

The course is designed for beginners in GPU programming using CUDA. It will explain how the parallelisation is done with basic examples, how data transfers are managed between CPU and GPU memory, what types of memory there are in GPU and how to use them, how the parallel threads are executed, and finally, we will explain several key parallel computing patterns in CUDA.

As the course will use the Karolina supercomputer, we will also demonstrate how to write single and multi-GPU applications.

Level

intermediate in parallel programming, beginner in CUDA

Language

English

Course format

The hands-on parts will only be available for on-site participants.

The tutorial/lecture parts will be available to attendees who can participate online.

Prerequisites

Participants should be familiar with programming in either C/C++ or Fortran. Furthermore, they should be able to work on the Linux command line. Basic experience with the development of scientific code is preferable. Basic knowledge of parallel programming is an advantage.

Tutors

Lubomír Říha, Ph.D., is the Head of the Infrastructure Research Lab at IT4Innovations National Supercomputing Center. Previously, he was a senior researcher in the Parallel Algorithms Research Lab at IT4Innovations and a research scientist in the High-Performance Computing Lab at George Washington University, ECE Department. He received his Ph.D. and M.Sc. degrees in Electrical Engineering from the Czech Technical University in Prague, the Czech Republic, in 2011, and his Ph.D. degree in Computer Science from Bowie State University, USA. Currently, he is a local principal investigator of two EuroHPC projects: SCALABLE and EUPEX (designs a prototype of the European Exascale machine). Previously, he was a local principal investigator of the H2020 Center of Excellence POP2 and H2020-FET HPC READEX projects and investigator of the FP7 EXA2CT project and the Intel Parallel Computing Center. He is also a co-founding developer of the ESPRESO finite element library, which includes a parallel sparse solver designed for supercomputers with tens or hundreds of thousands of cores, with support for GPU, Intel Xeon Phi, and other modern accelerators. His research interests are optimising HPC applications, energy-efficient computing, accelerating scientific and engineering applications using GPU and many-core accelerators, developing scalable linear solvers, parallel and distributed rendering on new HPC architectures, and signal and image processing.

Milan Jaroš, Ph.D., is a researcher at IT4Innovations National Supercomputing Center. He has 10 years of experience in professional programming (C++, C#, Java, etc.). He has developed several commercial software (including mobile applications). In recent years, he has focused on research in the area of HPC computing (including support of GPU and Intel Xeon Phi coprocessor), medical image processing and scientific data visualisation (virtual reality, rendering, CFD postprocessing, etc.). He participates in developing plugins for various software (Blender, COVISE/OpenCOVER, Unity, Monado, etc.).

Jakub Homola  is a PhD. student of Computational Science and a Research Assistant at IT4Innovations, VSB-TUO. He graduated in Computational and Applied Mathematics at VSB - Technical University of Ostrava, specializing in Computational Methods and HPC. His research and professional interests are FETI methods and GPU programming in CUDA, HIP and SYCL. He is partially involved in the EUPEX project, where he is working with the ESPRESO library to optimize it for future supercomputers with European processors. 

 

Acknowledgements

 

 

This work was supported by the EPICURE project under grant agreement No 101139786. The project is supported by the European High-Performance Computing Joint Undertaking and its members (including top-up funding by the Ministry of Education, Youth and Sports of the Czech Republic ID: MC2402).

 

This course was supported by the Ministry of Education, Youth and Sports of the Czech Republic through the e-INFRA CZ (ID:90254).

Starts
Ends
Europe/Prague
ONLINE

Practicalities

This training will be a hybrid event. Participants who wish to enjoy the hands-on exercises must attend on-site. The hands-on sessions will not be streamed, and online participants will not get access to the HPC infrastructure.

Please note that in case of low demand for on-site participation, the course will be delivered online only.

Technical details about joining will be sent to the accepted registrants before the event. If you are coming to IT4Innovations to attend personally, please bring your own laptop.

Registration

Registration is obligatory. Only registered participants will receive the Zoom link.

Please note that the online training is held using Zoom. We advise all participants to download the Zoom application to enjoy full functionality. 

After the number of registrations has reached its maximum or the registration form has been closed, you may want to send us an email stating that you are interested in being put on the waiting list. (Vacancies may occur due to cancellations, etc.) Email to training@it4i.cz

Capacity and Fees

The capacity is limited to 30 participants on-site and online. 

Please note that the course is open and free of charge for participants from the Member States (MS) of the European Union (EU) and Associated/Other Countries to the Horizon 2020 programme.

The course is free of charge for the eligible participants.

Surveys
There is an open survey.