CUDA Programming

A Developer's Guide to Parallel Computing with GPUs


  • Shane Cook, Technical Director, CUDA Developer, Munich, Germany

If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A Developer's Introduction offers a detailed guide to CUDA with a grounding in parallel fundamentals. It starts by introducing CUDA and bringing you up to speed on GPU parallelism and hardware, then delving into CUDA installation. Chapters on core concepts including threads, blocks, grids, and memory focus on both parallel and CUDA-specific issues. Later, the book demonstrates CUDA in practice for optimizing applications, adjusting to new hardware, and solving common problems.
View full description


Book information

  • Published: November 2012
  • ISBN: 978-0-12-415933-4


"I must mention chapters 7, which deals with the practicalities of using the SDK, and 9, which offers advice and a detailed breakdown of areas that can limit the performance of a CUDA application. Together, these chapters transform this good book into the kind of excellent text that all CUDA developers can find useful, regardless of their relative experience.", July 12, 2013
"This book is one of the most comprehensive on the subject published to date…it will guide those acquainted with GPU/CUDA from other books or from NVIDIA product documentation through the optimization maze to efficient CUDA/GPU coding.", April 25, 2013

Table of Contents

  1. A Short History of Supercomputing
  2. Understanding Parallelism with GPUs
  3. CUDA Hardware Overview
  4. Setting up CUDA
  5. Grids, Blocks and Threads
  6. Memory Handling with CUDA
  7. Using CUDA in Practice
  8. Multi-CPU and Multi-GPU Solutions
  9. Optimizing Your Application
  10. Libraries and SDK
  11. Designing GPU-Based Systems
  12. Common Problems, Causes, and Solutions