Muutke küpsiste eelistusi

GPU-Accelerated Computing with Python 3 and CUDA: From low-level kernels to real-world applications in scientific computing and machine learning [Pehme köide]

  • Formaat: Paperback / softback, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 31-Mar-2026
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1803245425
  • ISBN-13: 9781803245423
  • Formaat: Paperback / softback, kõrgus x laius: 235x191 mm
  • Ilmumisaeg: 31-Mar-2026
  • Kirjastus: Packt Publishing Limited
  • ISBN-10: 1803245425
  • ISBN-13: 9781803245423
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 doesnt have to mean switching to C++. This book shows you how to accelerate Python applications using NVIDIAs 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.

Youll 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.

Youll 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, youll 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.
Table of Contents

Why GPU programming with CUDA in Python 3?
Setting up a GPU programming environment locally and in the cloud
Writing and executing a CUDA kernel with numba
Profiling and debugging CUDA code
Optimize memory access patterns and other tricks
Using CUDA Streams for Asynchronous Data Transfers
Scaling to multiple GPUs
Bringing NumPy and SciPy to the GPU with CuPy
Bringing Pandas and Scikit-learn to the GPU with Rapids
Solving Optimization Problems on the GPU with JAX
Solving the heat equation on the GPU
Image processing on the GPU
Simulating Atomic Interactions on the GPU
Implementing your own transformer based language model from scratch
Expanding and Deepening your GPU Programming Knowledge
Dr. Niels Cautaerts has 10 years of experience writing Python for scientific applications. Five years ago he became interested to leverage hardware acceleration in his code. Soon after, he began contributing CUDA kernels to open source projects in his field of research. He has since applied his expertise to build GPU accelerated code in various projects, including a low latency framework for object detection in continuous image streams. Niels maintains a small following on YouTube and Medium, where he shares educational content about tech. Currently Niels works as a research software developer and data scientist. He has also worked as a big-data engineer. Niels has a background in materials science and holds a Ph.D. in applied Physics. Hossein Ghorbanfekr is a computational physicist with over a decade of expertise in scientific programming for material modeling, specializing in C/C++ and Python. During his Ph.D., he wrote various codes, utilizing parallel computing and GPU acceleration. Since 2020, he has been working as a data scientist, focusing on machine learning and high-performance computing in research projects. Hossein has contributed to the development of an object detection framework for waste stream analysis and created GEOBERTje, a domain-specific large language model in geology. His recent work includes Pantea, an open-source, GPU-accelerated machine learning framework for molecular simulations.