10 $

Introduction à la programmation GPU avec Python [en ligne]

Informations sur l'événement

Partager cet événement

Date et heure

Endroit

Endroit

Événement en ligne

Politique de remboursement

Politique de remboursement

Pas de remboursement

Description de l'événement
Si vous connaissez Python et que vous souhaitez calculer sur des GPUs, cet atelier est pour vous.

À propos de cet événement

(English version will follow)

Cet atelier de deux demi-journées sera donné en francais par M. Nikolai Sergueev, analyste en calcul scientifique à Calcul Québec à l'Université de Montréal.

Résumé

Cet atelier se concentre sur le calcul accéléré par GPU avec Python. Bien qu’il s’agisse d’un langage très populaire, Python n’est pas optimisé pour le calcul haute performance (CHP) et ne contient aucune fonctionnalité permettant de l’utiliser sur les GPU. C’est pourquoi, il est nécessaire d’utiliser des bibliothèques basées sur Python, telles que CUDA Python (PyCUDA) et Numba. En effet, ces outils permettent de combiner la rapidité de développement qu’offre Python et la rapidité d'un langage compilé ciblant à la fois les CPU et les GPU. 

Dans la première partie de l'atelier, nous donnerons une brève introduction à CUDA suivie d'une présentation de PyCUDA, la bibliothèque pour implémenter l'API de CUDA avec Python. La deuxième partie de l'atelier se concentrera sur Numba, un compilateur à la volée. 

À la fin de la formation, les participants et participantes maîtriserons les concepts clés du GPU et seront capables de développer des programmes GPU simples en Python.

Inscription

Inscription générale : 10$

Plan de cours

Jour 1:

  1. Pourquoi écrire sur des GPU?
  2. Comprendre l'architecture d'un GPU
  3. Qu'est ce que CUDA?
  4. Python + CUDA: votre premier code PyCUDA
  5. GPUArray: une bibliothèque PyCUDA très pratique
  6. Session pratique: apprendre à programmer le GPU avec PyCUDA

Jour 2:

  1. Numba: compilation à la volée
  2. Numba: votre premier code
  3. Fonctions Numba et modes de compilation
  4. Numba + CUDA
  5. Session pratique: apprendre à programmer le GPU avec Numba

Prérequis

Une bonne connaissance du langage de programmation Python est nécessaire, mais aucune connaissance du calcul accéléré par GPU n'est requise.

Prérequis techniques

Nous utiliserons Zoom comme plateforme. Comme il s'agit d'un atelier pratique, il est utile d'avoir deux écrans afin de pouvoir afficher l'écran de l'instructeur d'un côté et votre propre écran de l'autre.

Nous utiliserons l'interface Jupyter Notebook. Assurez-vous d'avoir un navigateur Web moderne comme Google Chrome, Firefox, Edge ou Safari.

Comment puis-je contacter l'organisateur si j'ai des questions? 

Vous pouvez écrire à formation@calculquebec.ca

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This two half-day 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

General admission : 10$

Lesson plan

Day 1:

  1. Why scripting on GPUs ?
  2. Understanding the architecture of a GPU
  3. What is CUDA ?
  4. Python+CUDA: your first PyCUDA code
  5. GPUArray: a handy PyCUDA library
  6. Hands-on session: learning to program GPU with PyCUDA

Day 2:

  1. Numba: just-in-time compiling
  2. Numba: your first code
  3. Numba functions and compilation modes
  4. Numba+CUDA
  5. Hands-on session: learning to program GPU with Numba

Prerequisite

Knowledge of the Python programming language is required but no familiarity with GPU computing is necessary.

Technical prerequisite

We will use the Zoom platform. Because this event is a practical workshop, it is very useful having a secondary screen where you would get the instructor window on one screen and your own window on your main screen.

We will use the Jupyter Notebook interface. Make sure you have a modern Web browser like Google Chrome, Firefox, Edge or Safari.

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

You may write to formation@calculquebec.ca

Partager avec des amis

Date et heure

Endroit

Événement en ligne

Politique de remboursement

Pas de remboursement

Sauvegarder cet événement

Événement sauvegardé