Published May 10, 2021 | Version v1
Lesson Open

Parallel and GPU Programming in Python

Description

Would you like to obtain the best performance from your Python codes and get good scalability even in a supercomputer?

In this course you will learn about parallel programming using Python, a language has become more and more popular among researchers for its simplicity and the availability of specific programming libraries. In large compute systems it is essential to exploit heterogeneous architectures correctly, and here you will understand the different challenges and how to overcome them with different Python features for CPU and GPU platforms that have direct application for scientific computing.

What?

In this course you will:

- Understand the limits and merits of parallel programming and its use with Python

- Implement code using different libraries for parallel programming on CPU and GPU, including numbaPyCUDA or mpi4py.

- Experience how to achieve high performance with Python using the supercomputing facilities at SURF

Who?

- Everyone interested in learning how to get high performance for Python codes

Requirements:

- Basic knowledge of Linux

- Basic knowledge of Python and use of Jupyter notebooks

You should have:

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

Files

JH-4.UserManual-Student-110920-1554-212.pdf

Files (74.9 MB)

Name Size Download all
md5:2ba40114984cd80c9c7b8c7ac1193d8b
347.4 kB Preview Download
md5:890ed1c9b3f2cd97e06f79a6b2f9ab2c
19.6 MB Preview Download
md5:aeb4b40da5392e36069ba8e9adb91c94
5.1 MB Preview Download
md5:9d16b93f9243b68be690b7b087e9bba4
49.7 MB Preview Download