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
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
book
Head First Design Patterns, 2nd Edition
You know you don’t want to reinvent the wheel, so you look to design patterns—the lessons …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
book
Fundamentals of Software Architecture
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real …