Python on GPUs

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Mixed
Live (synchronous)

Venue Information

Country: Belgium
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Intermediate
Sector of the Target Audience
Research and Academia
Industry
Public Sector
HPC Profile of Target Audience
Application Developers
Language of Instruction

Other Information

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

Programme

Python is making inroads into the HPC landscape. However, writing Python code for efficient scientific computing is not entirely trivial. In this course a  variety of techniques and libraries will be discussed that are useful in this context. Subjects covered include profiling of code to discover opportunities  for optimization, using Cython, a Python extension that translate critical code sections into efficient C, wrapping C/C++/Fortran libraries in Python,  multithreaded/multiprocess Python, distributed programming use mpi4py, and pySpark for data science.

 

Learning Objectives

When you complete this training you will

  • have an understanding of the architecture and features of GPGPUs,
  • be able to transfer data between the host and the GPGPU device,
  • be able to do linear algebra computations on GPGPUs using scikit-cuda,
  • be able to generate random numbers on a GPGPU using curand,
  • be able to define your own kernels to run on GPGPUs,
  • use numba to generate kernels to run on GPGPUs,
  • run machine learning algorithms on GPGPUs,
  • speed up data science tasks using Rapids.