Skip to content

sara-nl/Parallel-and-GPU-programming-in-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

101 Commits
 
 
 
 
 
 

Repository files navigation

#GPU-programming-in-Python-with-PyCuda-and-Numba

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 GPU platforms that have direct application for scientific computing.

What?

In this course you will:

  • Get an introduction to parallel computing architectures
  • Get an introduction to GPU programing in general terms
  • Understand the limits and merits of GPU programming and its use with Python
  • Implement code using different libraries for parallel programming on GPUs, including, Numba, and PyCUDA.
  • 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.

Schedule

Day 1 (CPU):

  • (09:30 to 12:00) Introduction to Parallel Computing Architectures
  • (12:00 to 13:15) Lunch Break
  • (11:15 to 12:30) Hands-on: Introduction to Python and Parallel Programming (threading/multiprocess)
  • (12:30 to 13:00) Lunch
  • (13:00 to 15:00) Hands-on Hands-on (PyCuda and Numba)
  • (15:00 to 16:00) Open Session for Technical Advice

Day 2 (GPU):

  • (09:30 to 12:00) Introduction to Profiling and Performance Analysis with Nsight
  • (12:00 to 13:15) Lunch Break
  • (13:00 to 14:00) Hands-on: Profiling and Performance Analysis with Nsight
  • (14:00 to 15:00) Open Session for Technical Advice

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages