CUDA Application Design and Development

Front Cover
Elsevier, Oct 8, 2011 - Computers - 336 pages

As the computer industry retools to leverage massively parallel graphics processing units (GPUs), this book is designed to meet the needs of working software developers who need to understand GPU programming with CUDA and increase efficiency in their projects. CUDA Application Design and Development starts with an introduction to parallel computing concepts for readers with no previous parallel experience, and focuses on issues of immediate importance to working software developers: achieving high performance, maintaining competitiveness, analyzing CUDA benefits versus costs, and determining application lifespan.

The book then details the thought behind CUDA and teaches how to create, analyze, and debug CUDA applications. Throughout, the focus is on software engineering issues: how to use CUDA in the context of existing application code, with existing compilers, languages, software tools, and industry-standard API libraries.

Using an approach refined in a series of well-received articles at Dr Dobb's Journal, author Rob Farber takes the reader step-by-step from fundamentals to implementation, moving from language theory to practical coding.

  • Includes multiple examples building from simple to more complex applications in four key areas: machine learning, visualization, vision recognition, and mobile computing
  • Addresses the foundational issues for CUDA development: multi-threaded programming and the different memory hierarchy
  • Includes teaching chapters designed to give a full understanding of CUDA tools, techniques and structure.
  • Presents CUDA techniques in the context of the hardware they are implemented on as well as other styles of programming that will help readers bridge into the new material
 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

1 First Programs and How to Think in CUDA
1
2 CUDA for Machine Learning and Optimization
33
Profiling a PCANLPCA Functor
63
4 The CUDA Execution Model
85
5 CUDA Memory
109
6 Efficiently Using GPU Memory
133
7 Techniques to Increase Parallelism
157
8 CUDA for All GPU and CPU Applications
179
9 Mixing CUDA and Rendering
207
10 CUDA in a Cloud and Cluster Environments
241
11 CUDA for Real Problems
265
12 Application Focus on Live Streaming Video
277
Works Cited
303
Index
311
Copyright

Other editions - View all

Common terms and phrases

About the author (2011)

Rob Farber has served as a scientist in Europe at the Irish Center for High-End Computing as well as U.S. national labs in Los Alamos, Berkeley, and the Pacific Northwest. He has also been on the external faculty at the Santa Fe Institute, consultant to fortune 100 companies, and co-founder of two computational startups that achieved liquidity events. He is the author of “CUDA Application Design and Development as well as numerous articles and tutorials that have appeared in Dr. Dobb's Journal and Scientific Computing, The Code Project and others.