Cambridge University Press, 2022. — 474 p. — ISBN: 978-1-108-47953-0.
CUDA is now the dominant language used for programming GPUs, one of the most exciting hardware developments of recent decades. With CUDA, you can use a desktop PC for work that would have previously required a large cluster of PCs or access to an HPC facility. As a result, CUDA is increasingly important in scientific and technical computing across the whole STEM community, from medical physics and financial modeling to big data applications and beyond. This unique book on CUDA draws on the author's passion for and long experience in developing and using computers to acquire and analyze scientific data. The result is an innovative text featuring a much richer set of examples than found in any other comparable book on GPU computing. Much attention has been paid to the C++ coding style, which is compact, elegant, and efficient. A codebase of examples and supporting material is available online, which readers can build on for their projects.
Introduction to GPU Kernels and Hardware.
Thinking and Coding in Parallel.
Warps and Cooperative Groups.
Parallel Stencils.
Textures.
Monte Carlo Applications.
Concurrency Using CUDA Streams and Events.
Application to PET Scanners.
Scaling Up.
Tools for Profiling and Debugging.
Tensor Cores.