Writing GPU code in Python is easier today than ever. You don’t need to learn C++ and there are many libraries available to get you started quickly. In this tutorial we will learn some GPU programming fundamentals and explore the ecosystem of GPU accelerated libraries that do the hard work for you.
We will work through various materials and examples to get you started with GPU development in Python using open source libraries.
In this tutorial we will cover:
- What is a GPU and why is it different to a CPU?
- An overview of the CUDA development model.
- Numba: A high performance compiler for Python.
- Writing your first GPU code in Python.
- Managing memory.
- Understanding what your GPU is doing with pyNVML (memory usage, utilization, etc).
- RAPIDS: A suite of GPU accelerated data science libraries.
- Working with Pandas dataframes on the GPU.
- Working with Numpy style arrays on the GPU.
- Performing some scikit-learn style machine learning on the GPU.
Attendees will be expected to have a general knowledge of Python and programming concepts, but no GPU experience will be necessary. The key takeaway for attendees will be the knowledge that they don’t have to do much differently to get their code running on a GPU.