09 MAR

18 APR

2023

Python GPU Programming Workshop

Alex Coleman from the University of Leeds will be hosting a two-part workshop on Python GPU programming.

Newcastle University
9 Mar 2023 10 a.m. — 4 p.m.
18 Apr 2023 10 a.m. — 4 p.m.

Please note, session 1 of this workshop has moved to March 9th

Apply for a place at this two-part workshop by registering for the event and answering the questions. Please ensure you use your University email address when registering.

Event description details

Want to learn more about how to write code in Python that can take advantage of graphical processing units (GPUs)? Sign up for this two-part course introducing GPU programming through Python.

In-person: 9th March 2023 in Newcastle

Virtual: 18th April 2023

Pre-requisites:

  • Very basic command line
  • Comfortable writing basic Python
  • Familiarity with NumPy, basic C would be beneficial

You do not require previous experience of:

  • using GPUs
  • parallel programming experience

Knowledge of basic command line (UNIX shell) usage would be helpful. To refresh your knowledge, please consider registering for our N8 CIR Unix Shell workshop on February 14.

Session 1: 9th March 2023 (in person)

This session will introduce basic concepts around what is a GPU and introduce some existing Python packages that we can use to allow us to take advantage of GPUs. The course will be an hands-on, in person delivered workshop allowing you to get to grips actually writing GPU accelerated Python.

Topics covered include:

  • What is a GPU
  • Differences between CPU and GPU
  • Introduction to CuPy
  • Example convolution using the GPU
  • Running NumPy on the GPU
  • Using Numba to run Python code on the GPU
  • Introduction to CUDA, writing your first kernel

Session 2: 18th April 2023 (virtual)

This session will recap some basic concepts around GPUs and start to explore more advanced topics around using CUDA. The course will be an hands-on, virtual workshop allowing you to get to grips actually writing GPU accelerated Python.

Topics covered include:

  • Recap of GPUs and CUDA
  • Shared memory and synchronisation on the GPU
  • Constant memory on the GPU
  • Concurrent execution of multiple kernels on the GPU

Agenda

Session 1: 28th February (in person)

10:00 Introduction

10:20 Using your GPU with CuPy

11:00 Break

11:10 Using your GPU with CuPy (cont.)

12:00 Lunch

13:00 Accelerate your Python code with Numba

14:30 Break

14:40 Your First GPU Kernel

16:00 Close

Session 2: 14th April (virtual)

10:00 Welcome and recap

10:20 Your First GPU Kernel

11:00 Break

11:10 Registers, Global, and Local Memory

12:00 Lunch

13:00 Shared Memory and Synchronization

14:30 Break

14:40 Constant Memory

15:00 Concurrent access to the GPU

16:00 Close

Return to event index