GPU-Accelerated Computing with Python 3 and CUDA: From low-level kernels to real-world applications in scientific computing and machine learning
Synopsis
Accelerate your Python code on the GPU using CUDA, Numba, and modern libraries to solve real-world problems faster and more efficiently.
Key Features
Build a solid foundation in CUDA with Python, from kernel design to execution and debugging
Optimize GPU performance with efficient memory access, CUDA streams, and multi-GPU scaling
Use JAX, CuPy, RAPIDS, and Numba to accelerate numerical computing and machine learning
Create practical GPU applications, from PDE solvers to image processing and transformers
Book DescriptionWriting high-performance Python code doesn’t have to mean switching to C++. This book shows you how to accelerate Python applications using NVIDIA’s CUDA platform and a modern ecosystem of Python tools and libraries. Aimed at researchers, engineers, and data scientists, it offers a practical yet deep understanding of GPU programming and how to fully exploit modern GPU hardware.
You’ll begin with the fundamentals of CUDA programming in Python using Numba-CUDA, learning how GPUs work and how to write, execute, and debug custom GPU kernels. Building on this foundation, the book explores memory access optimization, asynchronous execution with CUDA streams, and multi-GPU scaling using Dask-CUDA. Performance analysis and tuning are emphasized throughout, using NVIDIA Nsight profilers.
You’ll also learn to use high-level GPU libraries such as JAX, CuPy, and RAPIDS to accelerate numerical Python workflows with minimal code changes. These techniques are applied to real-world examples, including PDE solvers, image processing, physical simulations, and transformer models.
Written by experienced GPU practitioners, this hands-on guide emphasizes reproducible workflows using Python 3.10+, CUDA 12.3+, and tools like the Pixi package manager. By the end, you’ll have future-ready skills for building scalable GPU applications in Python.What you will learn
Understand GPU execution, parallelism, and the CUDA programming model
Write, launch, and debug custom CUDA kernels in Python with CUDA
Profile GPU code with NVIDIA Nsight and optimize memory access
Use CUDA streams and async execution to overlap compute and transfers
Apply JAX, CuPy, and RAPIDS to numerical computing and machine learning
Scale GPU workloads across devices using Dask and multi-GPU strategies
Accelerate PDE solvers, simulations, and image processing on the GPU
Build, train, and run a transformer model from scratch on the GPU
Who this book is forPython developers, (data) scientists, engineers, and researchers looking to accelerate numerical computations without switching to low-level languages. This book is ideal for those with experience in scientific Python (NumPy, Pandas, SciPy) and a basic understanding of computing fundamentals who want deeper control over performance in GPU environments.
Publisher information
- Publisher: Packt Publishing Limited
- ISBN: 9781803245423
- Number of pages: 534
- Dimensions: 235 x 191 mm
- Languages: English


















