Try   HackMD

N8 GPU Python Workshop

Rough hackpad for N8 CIR GPU Python workshop based on Carpentries Incubator lesson.

Format

Previous discussion suggested this workshop should be delivered in 2 parts:

  1. In person 28th February 2023 in Newcastle
  2. Virtual 18th April 2023

Agenda

In person

Time Agenda
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

Virtual

Time Agenda
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

Notes

  • AC, to check if code works on Bede and Colab (fall back)
  • 5/6 helpers, 1 Durham, 2 Leeds, 1/2 Newcastle, GS to ask at Manchester, MW to ask York
    • Samantha Finnigan and Dmitry Nikolaenko from Durham agreed to help out
  • AC to write short decription to Grainne (tell them what they need to be familiar with, do knows, do not knows).
  • Eventbrite, one event, 3 options, preference to those who book both
  • Catering for Grainne
  • January 23rd deadline to getting helpers and AC to arrange pre call
  • Accessibility: Accessible room booking, subtitles for call, registration asks for accessibility needs
  • JS to sort room booking
  • 23rd January org team catch up

Event description details

Title: Python GPU Programming Workshop

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.

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

Session 1: 28th February 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

Meeting 2023-01-23

Actions recap

Core questions

  • Do we create a carpentries website for the course?
    JS: normally does this for courses
    MW: Be good to do this for both courses
    JS: ACTION: to create website and share back, also register course with carpentries

  • Do we need another room for food?
    JS: To check
    MW: Is there space around the room

  • Do we use colab or bede? Is possible on Bede with additional setup
    MW: Would be great if they could do it on Bede
    MW: Could use inference nodes
    Use colab, but show it can be done on Bede

  • Do we record/share materials?
    AC: Will share materials
    JS: Recording in person is difficult

  • Do we have enough helpers?
    AC: Could do with one more?
    JS: To ask in Newcastle (ACTION: get back to by next week)
    AC: To organise a pre call for helpers

  • Closing date
    MW: When is closing date? And how do we whittle down?
    GW: 14th Feb, check reasons provided, both events get priority
    GW: Do we need email addresses provided?
    AC: No, but can you send out a pre course prep email (need google account, carpentries code of conduct)?
    GW: Yes, will contact you when we close registrations and confirm attendees

AOB

  • Any other actions?

  • Claiming back for helpers?
    MW: Claim through institution and institutions claim back annually from N8 CIR
    GW: ACTION: To email alex process for claiming back