Parallel programming course with Python, GPU part

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
In person

Venue Information

Country: Netherlands
Venue Details: Click here

Training Content and Scope

Level of Instruction
Intermediate
Advanced
Other
Sector of the Target Audience
Research and Academia
Industry
Public Sector
Other (general public...)
HPC Profile of Target Audience
Application Users
Application Developers
Data Scientists
System Administrators
Language of Instruction

Other Information

Organiser
Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description

In this course, you will learn about parallel programming with Python, a language that is becoming increasingly popular among researchers because of its simplicity and the availability of dedicated programming libraries. In large computing systems, it is essential to properly exploit heterogeneous architectures, and here you will understand the different challenges and how to overcome them with different Python functions for CPU and GPU platforms that are directly applicable to scientific computing.

Sign up

What.

In this course, you will

  • Understand the limitations and benefits of parallel programming and its use with Python
  • Implement code using different libraries for parallel programming on CPU and GPU, including PyCUDA or mpi4py.
  • Experience how to achieve high performance with Python using the supercomputing facilities at SURF.

For whom.

Anyone interested in learning how to achieve high performance with Python codes.

Prerequisites:

  • Basic knowledge of Linux
  • Basic knowledge of Python and use of Jupyter notebooks

You must have:

  • Your own laptop with an up-to-date browser and a terminal emulator. Using the operating systems Linux and macOS is preferred but not mandatory. For Windows users, we recommend downloading MobaXterm (portable version) as a terminal emulator.

Schedule

Day 2 (GPU):
10:00 to 10:15: Welcome and introduction to the course
10:15 to 10:30: Coffee break
10:45 to 12:00: Introduction to PyCUDA
12:00 to 13:00: Lunch
13:00 to 15:00: Hands-on: PyCUDA examples