Fit to programme
This was a proposed solution answering Task 037: âCreate âIntroduction to Accelerated Computingâ episode for existing training courses on software performance, behind WP 2.3.
Summary
We propose to create a standalone episode for submission to the software carpentries course: Performance Profiling & Optimisation (Python) course. It will cover the basics of how GPUs work at a high level alongside examples of the types of workloads that they are good at, and bad at, accelerating. It will also briefly cover some simple âdrop-inâ replacements for common python packages with some example use cases and demonstrations of the potential performance increase.
These will include:
- CuPy (GPU âdrop inâ replacement for Numpy)
- DPNP (an Intel replacement for numpy optimised for use with multi-core cpus and GPUs)
- Modlin and CUDF (large scale mpi CPU and GPU version of pandas)
Finally it will cover just in time (jit) compilation, a common technique for relatively easy performance gains requiring only minor changes to existing python code.