GPU Programming in Pure Python
summary
Claim is that you can write GPU kernels in pure Python and get performance parity with CUDA C++ using the CUDA Python object model plus Numba CUDA and the CUDA Core Libraries. Examples include an efficient copy, tiled matrix transpose, and batched softmax that run JIT and use shared memory, register batching, and memory coalescing for bandwidth. The talk demos integrating cuBLAS and cuDNN, shows using Cub cooperative primitives, and explains when library calls beat custom kernels.
AI-written summary · about
chapters (10)
- 0:00Introduction to parallelism
- 2:01GPU architecture and strategy
- 5:24Numba and GPU kernel basics
- 8:09Writing a basic copy kernel
- 12:21Optimizing memory access
- 18:06GPU memory types
- 20:12Cooperative primitives
- 26:43Advanced kernel implementation
- 33:47Key takeaways and resources
- 40:46Q&A and future directions
related talks
34mAccelerating GPU Algorithms in pure Python
01h 29mGPU development with Python 101
02h 14mGPU development in Python 101
30mCUDA in Your Python: Effective Parallel Programming on the GPU
02h 55mGPU Accelerated Python w: CUDA
02h 28mGPU Accelerated Python
35mPython at the Speed of Light: A Complete Tour of the CUDA Ecosystem
01h 02mExploit your GPU power with PyCUDA (and friends)
