Andy Terrel

CUDA in Python

What if your Python code could achieve over 90% of a GPU's theoretical max performance? Learn how NVIDIA is making it possible.

CUDA in Python
#1about 6 minutes

Understanding the CUDA platform stack for Python developers

The CUDA platform is layered from high-level domain libraries to low-level hardware access, with new tools aiming to combine Python's productivity with GPU performance.

#2about 3 minutes

Improving performance by fusing GPU operations

The nvmath-python library enables kernel fusion using epilogues, which combines multiple operations like matrix multiplication and bias addition into a single GPU kernel launch.

#3about 5 minutes

Calling device-side functions directly from Python kernels

Python kernels can now directly call pre-compiled, high-performance device-side functions from libraries like cuBLAS, enabled by a just-in-time linker called nvJitLink.

#4about 2 minutes

Fine-grained parallelism with cooperative groups in Python

The CUB library is exposed to Python, allowing for cooperative operations and reductions at the block or warp level for fine-grained control over GPU parallelism.

#5about 3 minutes

Accelerating language support with numba-cuda and nupack

The numba-cuda module is separated to accelerate feature delivery, while nupack automatically generates Python bindings for C++ templated code.

#6about 4 minutes

A Pythonic object model for host-side GPU control

A new high-level object model allows Python developers to directly manage GPU resources like devices, contexts, streams, and linker objects without boilerplate code.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

AI Developer

Nvidia
Zürich, Switzerland

Intermediate
C++
Machine Learning

Python Developer

Intuition IT Solutions Ltd
Charing Cross, United Kingdom

104K
API
Python
Microservices
Agile Methodologies
+2