Book description
The CUDA Handbook begins where CUDA by Example (Addison-Wesley, 2011) leaves off, discussing CUDA hardware and software in greater detail and covering both CUDA 5.0 and Kepler. Every CUDA developer, from the casual to the most sophisticated, will find something here of interest and immediate usefulness. Newer CUDA developers will see how the hardware processes commands and how the driver checks progress; more experienced CUDA developers will appreciate the expert coverage of topics such as the driver API and context migration, as well as the guidance on how best to structure CPU/GPU data interchange and synchronization.
The accompanying open source code–more than 25,000 lines of it, freely available at www.cudahandbook.com–is specifically intended to be reused and repurposed by developers.
Designed to be both a comprehensive reference and a practical cookbook, the text is divided into the following three parts:
Part I, Overview, gives high-level descriptions of the hardware and software that make CUDA possible.
Part II, Details, provides thorough
descriptions of every aspect of CUDA, including
Memory
Streams and events
Models of execution, including the dynamic parallelism feature, new with CUDA 5.0 and SM 3.5
The streaming multiprocessors, including descriptions of all features through SM 3.5
Programming multiple GPUs
Texturing
The source code accompanying Part II is
presented as reusable microbenchmarks and microdemos, designed to
expose specific hardware characteristics or highlight specific use
cases.
Part III, Select Applications, details specific families of CUDA applications and key parallel algorithms, including
Streaming workloads
Reduction
Parallel prefix sum (Scan)
N-body
Image Processing
These algorithms cover the full range of potential CUDA applications.
Table of contents
- About This eBook
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Preface
- Acknowledgments
- About the Author
- Part I
-
Part II
- Chapter 5. Memory
-
Chapter 6. Streams and Events
- 6.1. CPU/GPU Concurrency: Covering Driver Overhead
- 6.2. Asynchronous Memcpy
- 6.3. CUDA Events: CPU/GPU Synchronization
- 6.4. CUDA Events: Timing
- 6.5. Concurrent Copying and Kernel Processing
- 6.6. Mapped Pinned Memory
- 6.7. Concurrent Kernel Processing
- 6.8. GPU/GPU Synchronization: cudaStreamWaitEvent()
- 6.9. Source Code Reference
- Chapter 7. Kernel Execution
- Chapter 8. Streaming Multiprocessors
- Chapter 9. Multiple GPUs
-
Chapter 10. Texturing
- 10.1. Overview
- 10.2. Texture Memory
- 10.3. 1D Texturing
- 10.4. Texture as a Read Path
- 10.5. Texturing with Unnormalized Coordinates
- 10.6. Texturing with Normalized Coordinates
- 10.7. 1D Surface Read/Write
- 10.8. 2D Texturing
- 10.9. 2D Texturing: Copy Avoidance
- 10.10. 3D Texturing
- 10.11. Layered Textures
- 10.12. Optimal Block Sizing and Performance
- 10.13. Texturing Quick References
- Part III
- Appendix A. The CUDA Handbook Library
- Glossary / TLA Decoder
- Index
Product information
- Title: The CUDA Handbook: A Comprehensive Guide to GPU Programming
- Author(s):
- Release date: June 2013
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780133261516
You might also like
book
Hands-On GPU Programming with Python and CUDA
Build real-world applications with Python 2.7, CUDA 9, and CUDA 10. We suggest the use of …
book
Multicore and GPU Programming
Multicore and GPU Programming offers broad coverage of the key parallel computing skillsets: multicore CPU programming …
book
CUDA Programming
If you need to learn CUDA but don't have experience with parallel computing, CUDA Programming: A …
book
CUDA by Example: An Introduction to General-Purpose GPU Programming
“This book is required reading for anyone working with accelerator-based computing systems.” –From the Foreword by …