About this book
GPUs are designed for maximum throughput but are subject to low-level subtleties. In contrast, Python is a high-level language that places emphasis on ease-of-use over speed. This updated second edition follows a practical approach to teaching you efficient GPU programming techniques with the latest version of Python and CUDA.
You’ll start by learning how to apply Amdahl’s Law, use a code profiler to identify bottlenecks in your Python code, and set up a GPU programming environment. In the chapters that follow, you’ll understand how to query the GPU’s features and set up an environment on the Microsoft Azure cloud, and on a NVIDIA Jetson Nano board. Next, you’ll get hands-on with launching code directly onto the GPU and writing GPU kernels and device functions in CUDA C. You’ll later get to grips with profiling GPU code, and testing and debugging your code using Nsight IDE. The book will then delve into well-known NVIDIA libraries, such as cuFFT and cuBLAS. From developing a custom TensorFlow module in CUDA to adding gradient outputs to a TensorFlow module, you’ll gradually build on your skills. Finally, you'll learn ray tracing in CUDA, and how to develop a simple ray tracer from scratch.
By the end of this book, you’ll be able to apply GPU programming to solve problems related to data science and high-performance computing.
- Publication date:
- October 2021