When

Apr 18, 2023
(Europe/Berlin / UTC200)

Where

Amsterdam

Attendees

The workshop is open and free to all researchers in the Netherlands at PhD candidate level and higher. We do not accept registrations by Master students.

Add event to calendar

iCal

This workshop covers the basic concepts and tools needed to program GPUs using Python and CUDA.

From deep learning to high-performance computing, Graphics Processing Units (GPUs) are nowadays an important tool for scholars and research software engineers alike. Parallel in nature, they offer incredible computing capabilities that just a few years ago were only available in supercomputers. While using GPUs to accelerate computation becomes easier year after year, obtaining high performance from these devices still requires some knowledge of how they work, and the programming model on which they are based.

In this workshop we will provide the learners with the fundamental knowledge that they need to start their journey into the world of programming GPUs. After a brief introduction to the specificities of GPUs, and how they differ from traditional processors, participants will experience various ways of using them with Python. They will get familiar with libraries such as CuPy and Numba to accelerate Python code, and obtain first-hand experience in writing small CUDA programs that can run directly on the GPU.

The workshop is based on the teaching style of the Carpentries, and learners will follow along while the instructors write the code on screen. More information can be found on the workshop website.

Audience

The workshop is open and free to all researchers in the Netherlands at PhD candidate level and higher. We do not accept registrations by Master students.

Prerequisites

The participant should:

  • be familiar with Python
  • be comfortable working in Jupyter
  • have the ability to read and understand C code.

Preferred:

  • knowledge of NumPy
  • familiarity with high-performance computing concepts

Syllabus

  • accelerate NumPy primitives with CuPy
  • accelerate Python code with Numba
  • learn the basics of CUDA
  • use CuPy to execute CUDA code in Python
  • understand the different CUDA memories
  • thread synchronization in CUDA

Where

This training will take place in-person at the eScience Center, Science Park 402, Amsterdam. Please note that lunch and drinks at the end of the workshop are included.