⠀
⠀
12 October 2026 | ONLINE
Building on CuPy, the course then introduces CUDA programming through Numba CUDA. CUDA is a parallel computing platform and programming model that allows developers to use NVIDIA GPUs for general-purpose computation. Numba CUDA allows developers to write custom CUDA kernels in Python that can be compiled and executed on the GPU. Topics include CUDA kernels, threads, blocks, grids, thread indexing, and kernel compilation.
The training covers two main approaches:
|
|
Participants will also learn when GPU acceleration is useful and when it may not provide a performance benefit.
All code used in the training will be executed on MeluXina, Luxembourg’s national supercomputer. Participants will therefore also learn how to request GPU resources.
Participants will discover MeluXina and how to execute CUDA Python programs using Slurm.
Participants will learn how to:
Samir El-Amrany Doctoral researcher Department of Computer Science, University of Luxembourg Mr El-Amrany leads this training session and is your point of contact for any questions about the content. |
| 13:00 – 13:15 | Welcome and introduction |
| 13:15 – 14:45 | Setup and mental model: Understand CPU, GPU, CUDA, host/device, data transfer, and environment options. Introduction to CUDA Python: Understand what CUDA Python means and how Python can use NVIDIA GPUs. NumPy workflows with CuPy: Move from CPU NumPy arrays to GPU CuPy arrays and reason about transfer costs. |
| 14:45 – 15:00 | Coffee break |
| 15:00 – 16:45 | Simple CPU vs GPU comparison: Benchmark CPU and GPU code correctly and interpret the results. Numba / Numba-CUDA basics: Write and launch a first simple CUDA kernel in Python. |
| 16:45 – 17:00 | Q&A session |
Who should attend? This training is intended for students, researchers, engineers, data scientists, and developers who use Python and want to learn how to accelerate their applications using NVIDIA GPUs. |
Prerequisites? No prior experience with CUDA is required. Basic knowledge of Python and NumPy is sufficient to follow the course. |