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 Description:
Writing 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 for:
Python 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
外文書商品之書封,為出版社提供之樣本。實際出貨商品,以出版社所提供之現有版本為主。部份書籍,因出版社供應狀況特殊,匯率將依實際狀況做調整。
無庫存之商品,在您完成訂單程序之後,將以空運的方式為你下單調貨。為了縮短等待的時間,建議您將外文書與其他商品分開下單,以獲得最快的取貨速度,平均調貨時間為1~2個月。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。