Introduction à la programmation GPU avec Python [CQ - UdeM]

Friday, February 21, 2020 09:00to16:00
Université de Montréal, 2900 boul. Edouard-Montpetit, Montreal, QC, H3T 1J4, CA
$10 - $200

This workshop will be presented in French by Mr. Nikolai Sergueev, a research computing analyst with Calcul Québec at the Université de Montréal. 


This workshop focuses on GPU accelerated computing with Python. Despite being a very popular language, Python not only is considered to be slow for high performance computing but also lacks GPU support. However, the use of Python-based libraries, such as CUDA Python (PyCUDA) and Numba, warrants further consideration on the subject of GPU computing with Python. This gives the user the best of both worlds: rapid development with Python combined with the speed of a compiled language targeting both CPUs and GPUs. In the first part of the workshop we give a very short introduction to CUDA followed by a tutorial on PyCUDA, the library for implementing CUDA's API with Python. The second part of the workshop focuses on Numba, a "just-in-time" compiler for Python that works best on code that uses NumPy arrays and functions along with loops. Upon completion, participants should understand key GPU concepts and be able to write simple GPU programs with Python.


Academic participant : 10$

Non-academic participant : $350 

Lesson plan

Why scripting on GPUs ?

Understanding the architecture of a GPU

What is CUDA ?

Python+CUDA: your first PyCUDA code

GPUArray: a handy PyCUDA library

Numba: just-in-time compiling

Numba: your first code

Numba functions and compilation modes


Hands-on session: learning to program GPU with PyCUDA and Numba


Knowledge of the Python programming language is required but no familiarity with GPU computing is necessary. Attendees should bring their personal laptop computer to participate in the hands-on content.


How can I contact the organizer if I have any questions?

You may write to formation [at] calculquebec.ca


Back to top