MeluXina · Training
Introduction to GPU Acceleration with Python
DATEMonday 12 October 2026 TIME13:00 – 17:00

About the event
 
MELUXINA · TRAINING
FORMAT
Online
DATE
Monday 12 October 2026
TIME
13:00 – 17:00
REGISTRATION CLOSES
7 days before the training
Monday 5 October 2026
Introduction
 
Artificial intelligence, data analytics, and scientific computing increasingly rely on GPUs to perform computational tasks faster and more efficiently. Introduction to CUDA with Python aims to teach participants the basics of GPU computing and how to move from conventional CPU-based Python programming to GPU-accelerated Python programming.

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:

01
High-level GPU acceleration using CuPy
02
Custom CUDA kernels using Numba CUDA
What will you learn?
 

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.

By the end of the course, participants will be able to use CuPy for GPU-based computations, understand how CUDA executes kernels, write basic CUDA kernels in Python, and run GPU applications in an HPC environment.
Learning outcomes
 

Participants will learn how to:

  • Understand the difference between CPU and GPU computing.
  • Identify workloads that can benefit from GPU acceleration.
  • Use CuPy as a GPU-accelerated alternative to NumPy.
  • Move data between the CPU and GPU.
  • Compare the performance of CPU, CuPy, and custom CUDA kernel implementations.
  • Understand the CUDA programming and execution model.
  • Understand kernels, threads, blocks, and grids.
  • Write and launch custom CUDA kernels with Numba CUDA.
  • Use thread indexing to parallelise array and vector operations.
  • Understand data movement between host and device.
  • Recognise common issues in GPU programming.
  • Request GPU resources on MeluXina.
  • Run CUDA Python applications through Slurm.
Speaker
 
 
 
 
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.
Agenda
 
13:00 – 13:15Welcome 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:00Coffee 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:00Q&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.

Initiated and managed by

component teaserparticipants not found

component teasercontacts not found