Going Further with CUDA for Python Programmers

Published: 12 February 2024
on channel: Jeremy Howard
12,098
365

This technical talk by Jeremy Howard explores advanced programming techniques for maximizing performance when using CUDA with Python. The focus is on optimizing memory usage with a specific emphasis on effectively leveraging fast shared memory in CUDA. It assumes you have already watched this "Getting Started" video:    • Getting Started With CUDA for Python ...  

The video begins with foundational concepts by comparing shared memory to global memory and demonstrates strategies like tiling to address shared memory capacity limitations. It demonstrates core ideas through a matrix multiplication example.

Jeremy compares pure Python, Python with simulated 'shared memory', Numba, and raw CUDA implementations, using ChatGPT for guided code conversion. While initial Numba-based code may exhibit some overhead, it serves as a fast development pathway compared to raw CUDA.

Resources

The notebook for this lesson is in the "lecture5" folder at: https://github.com/cuda-mode/lectures. Special thanks to Kerem Turgutlu for help preparing it.

See also this video for more information about GPU memory optimisation:    • Lecture 4 Compute and Memory Basics   .

Timestamps

0:00 Introduction to Optimized Matrix Multiplication
12:04 Shared Memory Techniques for CUDA
20:12 Implementing Shared Memory Optimization in Python
42:15 Translating Python to CUDA and Performance Considerations
55:55 Numba: Bringing Python and CUDA Together
1:11:46 The Future of AI in Coding

Thanks to @wolpumba4099 for initial summary and timestamps.


On this page of the site you can watch the video online Going Further with CUDA for Python Programmers with a duration of hours minute second in good quality, which was uploaded by the user Jeremy Howard 12 February 2024, share the link with friends and acquaintances, this video has already been watched 12,098 times on youtube and it was liked by 365 viewers. Enjoy your viewing!