You’ll learn the fundamental tools and techniques for running GPU-accelerated Python applications in this workshop using CUDA and the NUMBA compiler GPUs. You’ll use a live, cloud-based GPU-enabled development environment to work though dozens of hands-on coding exercises.
Learn how to:
Finish by implementing your new workflow to accelerate a fully functional linear algebra program originally designed for CPUs to observe impressive performance gains.
After the workshop ends, you’ll have additional resources enabling you to create new GPU-accelerated applications on your own.
Gain understanding on how to use fundamental tools and techniques for GPU-accelerate Python applications with CUDA and Numba, including:
Why Deep Learning Institute Hands-on Training?
Upon successful completion of the workshop, participants will receive NVIDIA DLI Certification to recognize subject matter competency and support professional career growth.
The first 15 minutes introduces how to set-up your training environment.
Introduction to CUDA Python with Numba
Begin to working with the Numba compiler and CUDA programming in Python. Learn to use Numba decorators to accelerate numerical Python functions. Complete an assessment to accelerate a neural network layer.
Custom CUDA Kernels in Python with Numba
Learn how to extend parallel program possibilities,. including the ability to design and write flexible and powerful CUDA kernels. You’ll grasp ho to easily handle race conditions with CUDA atomic operations and parallel thread synchronization. You’ll also complete an assessment to accelerate a Mandelbrot set calculator and visualizer.
RNG, Multidimensional Grids, and Shared Memory for CUDA Python with Numba
Generate a random number state for thousands of parallel threads in this intermediate-level module. Use shared memory for on-device caching and promoting memory coalescing while reshaping 2D matrices.
This module teaches you to leverage your learning to accelerate a CPU-only linear algebra subroutine for massive performance gains.
Finally, learn how to set up your CUDA and GPU-enabled environment to begin work on your own projects.