|
|
|||
|
||||
OverviewAccelerate 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. Full Product DetailsAuthor: Niels Cautaerts , Hossein GhorbanfekrPublisher: Packt Publishing Limited Imprint: Packt Publishing Limited ISBN: 9781803245423ISBN 10: 1803245425 Publication Date: 31 March 2026 Audience: General/trade , General Format: Paperback Publisher's Status: Active Availability: In Print This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us. Table of ContentsTable 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 KnowledgeReviewsAuthor InformationDr. 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. Tab Content 6Author Website:Countries AvailableAll regions |
||||