CUDA Programming: A Developer's Guide to Parallel Computing with GPUs
- 12h 3m
- Shane Cook
- Elsevier Science and Technology Books, Inc.
- 2013
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.
- Comprehensive introduction to parallel programming with CUDA, for readers new to both
- Detailed instructions help readers optimize the CUDA software development kit
- Practical techniques illustrate working with memory, threads, algorithms, resources, and more
- Covers CUDA on multiple hardware platforms: Mac, Linux and Windows with several NVIDIA chipsets
- Each chapter includes exercises to test reader knowledge
About the Author
Shane Cook is Technical Director at CUDA Developer, a consultancy company that helps companies exploit the power of GPUs by re-engineering code to make the optimal use of the hardware available. He formed CUDA Developer upon realizing the potential of heterogeneous systems and CUDA to disrupt existing serial and parallel programming technologies. He has a degree in Applied Software Engineering, specializing in the embedded software field. He has worked in senior roles with blue chip companies over the past twenty years, always seeking to help to develop the engineers in his team. He has worked on C programming standards including the MISRA Safer C used by widely in the automotive software community, and previously developed code for companies in the Germany automotive and defense contracting industries as well as Nortel and Ford Motor Company.
In this Book
-
A Short History of Supercomputing
-
Understanding Parallelism with GPUs
-
CUDA Hardware Overview
-
Setting up CUDA
-
Grids, Blocks, and Threads
-
Memory Handling with CUDA
-
Using CUDA in Practice
-
Multi-CPU and Multi-GPU Solutions
-
Optimizing Your Application
-
Libraries and SDK
-
Designing GPU-Based Systems
-
Common Problems, Causes, and Solutions