Create CUDA kernels from Python using Numba and CuPy.
2019-09-02 , Track 3 (Oteiza)

We'll explain how to do GPU-Accelerated numerical computing from Python using the Numba Python compiler in combination with the CuPy GPU array library.


Abstract

We'll explain how to do GPU-Accelerated numerical computing from Python using the Numba Python compiler in combination with the CuPy GPU array library. Numba is an open source compiler that can translate Python functions for execution on the GPU without requiring users to write any C or C++ code. Numba's just-in-time compilation ability makes it easy to interactively experiment with GPU computing in the Jupyter notebook. Combining Numba with CuPy, a nearly complete implementation of the NumPy API for CUDA, creates a high productivity GPU development environment. Learn the basics of using Numba with CuPy, techniques for automatically parallelizing custom Python functions on arrays, and how to create and launch CUDA kernels entirely from Python. Access to appropriate hardware will be provided in the form of access to GPU based cloud resources.

Libraries

Requirements and set up instructions

  • Cloud based access to GPUs will be provided, please bring a laptop with an operating system and a browser. Chrome is usually fine.

Project Homepage / Git

http://numba.pydata.org/

Project Homepage / Git

http://numba.pydata.org/

Abstract as a tweet

Learn to program GPUs in Python with CuPy and Numba.

Python Skill Level

professional

Domain Expertise

none

Domains

Open Source, Parallel computing / HPC, Vector and array manipulation

Valentin is a long-time "Python for Data" user and developer who still
remembers hearing Travis Oliphant's keynote at the EuroScipy 2007. This was
during a time where he first became aware of the nascent scientific Python
stack. He started using Python for simple modeling of spiking neurons and
evaluation of data from perception experiments during his Masters degree in
computational neuroscience. Since then he has been active as a contributor
across more than 75 open source projects. For example, within the Blosc
ecosystem where he still maintains and contributes to Python-Blosc and
Bloscpack. Furthermore, he has acquired significant experience as a Git
trainer and consultant and had published the first German language book about
the topic in 2011. In 2014 and 2015 he helped kickstart the PyData Berlin
community alongside a few other volunteers and co-organized the first two
editions of the PyData Berlin Conference. He now works for Anaconda as a
software engineer / open source developer on the Numba project.

This speaker also appears in: