Introduction to GPU Programming 2025

  • Supercomputing
  • Monday, 17 March 2025 - Sunday, 23 March 2025 From 4 p.m. to 8 p.m.

The contents of the course are:

  • Introduction to GPUs. Motivation for the use of GPUs o Definition of Heterogeneous System. Definition of Heterogeneous System o Evolution and main characteristics of GPUs. Comparison of GPU vs. CPU architecture and performance.
  • Execution Model. Main characteristics of the GPU. Host-Device Model. CUDA program structure. Simultaneous Multi-Threading (SMT).
  • GPU architecture. Architecture overview. Multiprocessor Stream architecture GPU memory hierarchy.
  • CUDA programming. CUDA basics System information functions Host-GPU data movement functions. Launching kernels.
  • Exploiting Parallelism in CUDA. Threads, blocks and Mesh Relationship between blocks and threads. Identifying threads. o Warps.

Objectiu de l'acte

  • To introduce students to remote access to GPUs, installed on supercomputers: access, environment, compilation, file movement.
  • To provide students with basic knowledge of GPU architecture, allowing them to understand the CUDA programming model, which is very different from the classical programming model on CPUs.
  • To introduce the student to GPU programming using the CUDA programming language, both in the host code and in the code to be executed on the GPU. 5.

T'interessa si ets...

The course has been specifically designed to reach companies that need to increase their computing capacity, either because of the use of very complex algorithms or because of the need to manage a large amount of data. Examples of applications: machine learning, deep learning, science and engineering, biomedicine, computational simulation, computer graphics, etc.