Course/Event Essentials
Event/Course Start
Event/Course End
Event/Course Format
Mixed
Live (synchronous)
Primary Event/Course URL
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
Organiser
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.