PyData Global 2024

GPU development with Python 101
12-04, 19:00–20:30 (UTC), Data/ Data Science Track

Writing GPU code in Python is easier today than ever, and in this tutorial, we will cover how you can get started with accelerating your code.

You don't need to learn C++ and you don't need new development tools.

Attendees will be expected to have a general knowledge of Python and programming concepts, but no GPU experience will be necessary. Our 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.


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.


Prior Knowledge Expected

No previous knowledge expected

Jacob Tomlinson is a senior software engineer at NVIDIA. His work involves maintaining open source projects including RAPIDS and Dask. He also tinkers with kr8s in his spare time. He lives in Exeter, UK.

This speaker also appears in:

Dr. Katrina Riehl is a Principal Technical Product Manager at NVIDIA supporting CUDA and Python. For over two decades, Katrina has worked extensively in the fields of scientific computing, machine learning, data science, and visualization. Most notably, she has helped lead initiatives at the University of Texas Austin Applied Research Laboratory, Anaconda, Apple, Expedia Group, Cloudflare, and Snowflake. She is an active volunteer in the Python open-source scientific software community and continues to serve on the Advisory Council for NumFOCUS.