Programming in Parallel with CUDA
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 a HPC facility. As a result, CUDA is increasingly important in scientific and technical computing across the whole STEM community, from medical physics and financial modelling to big data applications and beyond. This unique book on CUDA draws on the author's passion for and long experience of developing and using computers to acquire and analyse 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 code base of examples and supporting material is available online, which readers can build on for their own projects.
- Contains a rich set of interesting and relevant examples, with fully working code available online
- Uses a modern, easy-to-follow C++ coding style throughout, reflecting the author's long experience writing code
- Places an emphasis on recent GPUs, covering hardware changes up to January 2021
Product details
June 2022Hardback
9781108479530
395 pages
260 × 181 × 25 mm
1.15kg
Available
Table of Contents
- 1. Introduction to GPU kernels and hardware
- 2. Thinking and coding in parallel
- 3. Warps and cooperative groups
- 4. Parallel stencils
- 5. Textures
- 6. Monte Carlo applications
- 7. Concurrency using CUDA streams and events
- 8. Application to PET scanners
- 9. Scaling up
- 10. Tools for profiling and debugging
- 11. Tensor cores
- A. A brief history of CUDA
- B. Atomic operations
- C. The NVCC complier
- D. AVX and the Intel complier
- E. Number formats
- F. CUDA documentation and libraries
- G. The CX header files
- H. AI and Python
- I. Topics in C++
- Index.