Introduction à la programmation GPU avec Python [CQ - UdeM]
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.Ìý
Summary
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.
Registration
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
Numba+CUDA
Hands-on session: learning to program GPU with PyCUDA and Numba
Prerequisite
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