Events
Programming GPUs with CUDA and C/C++ Course
Start
2024/10/09
End
2024/10/10
Location
Hybrid
EPICURE is delighted to announce its first Programming GPUs with CUDA and C/C++ course, run jointly with the I4Innovation team, the project’s partner. Over two days – October 9 and 10 – and in a hybrid format, participants will be introduced to programming GPU-accelerated applications using CUDA programming.
To this end, tutors Lubomír Říha, Milan Jaroš and Jakub Homola 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.
About the speakers:
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.