CUDA Application Design and Development and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
Trade in Yours
For a 3.50 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading CUDA Application Design and Development on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

CUDA Application Design and Development [Paperback]

Rob Farber
3.7 out of 5 stars  See all reviews (3 customer reviews)
RRP: 30.99
Price: 26.34 & FREE Delivery in the UK. Details
You Save: 4.65 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Saturday, 19 April? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition 19.15  
Paperback 26.34  
Trade In this Item for up to 3.50
Trade in CUDA Application Design and Development for an gift card of up to 3.50, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

16 Dec 2011 0123884268 978-0123884268

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

Frequently Bought Together

CUDA Application Design and Development + CUDA by Example: An Introduction to General-Purpose GPU Programming + CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of GPU Computing Series)
Price For All Three: 72.17

Buy the selected items together

Product details

  • Paperback: 336 pages
  • Publisher: Morgan Kaufmann (16 Dec 2011)
  • Language: English
  • ISBN-10: 0123884268
  • ISBN-13: 978-0123884268
  • Product Dimensions: 23.1 x 18.8 x 2.8 cm
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 600,994 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Author

Discover books, learn about writers, and more.

Product Description


The book by Rob Faber on CUDA Application Design and Development is required reading for anyone who wants to understand and efficiently program CUDA for scientific and visual programming. It provides a hands-on exposure to the details in a readable and easy to understand form. Jack Dongarra, Innovative Computing Laboratory, EECS Department, University of Tennessee

GPUs have the potential to take computational simulations to new levels of scale and detail. Many scientists are already realising these benefits, tackling larger and more complex problems that are not feasible on conventional CPU-based systems. This book provides the tools and techniques for anyone wishing to join these pioneers, in an accessible though thorough text that a budding CUDA programmer would do well to keep close to hand. Dr. George Beckett, EPCC, University of Edinburgh

With his book, Farber takes us on a journey to the exciting world of programming multi-core processor machines with CUDA. Farber's pragmatic approach is effective in guiding the reader across challenges and their solutions.   Farber's broader presentation of parallel programming with CUDA ranging from CUDA in Cloud and Cluster environments to CUDA for real problems and applications helps the reader learning about the unique opportunities this parallel programming language can offer to the scientific community. This book is definitely a must for students, teachers, and developers! Michela Taufer, Assistant Professor, Department of Computer and Information Sciences, University of Delaware

Rob Farber has written an enlightening and accessible book on the application to CUDA for real research tasks, with an eye to developing scalable and distributed GPU applications.  He supplies clear and usable code examples combined with insight about _why_ one should use a particular approach.  This is an excellent book filled with practical advice for experienced CUDA programmers and ground-up guidance for beginners wondering if CUDA can accelerate their time to solution. Paul A. Navrátil, Manager, Visualization Software, Texas Advanced Computing Center

The book provides a solid introduction to the CUDA programming language starting with the basics and progressively exposing the reader to advanced concepts through the well annotated implementation of real-world applications. It makes a first-rate presentation of CUDA, its use in the implementation of portable and efficient applications and the underlying architecture of GPGPU/CPU systems with particular emphasis on memory hierarchies. This is complemented by a thorough presentation both of the CUDA Tool Suite and of techniques for the parallelisation of applications. Farber's book is a valuable addition to the bookshelves of both the advanced and novice CUDA programmer. Francis Wray, Independent Consultant and Visiting Professor at the Faculty of Computing, Information Systems and Mathematics at the University of Kingston

At a brisk pace, "CUDA Application Design and Development" will take one from the basics of CUDA programming to the level where real-time video processing becomes a stroll in the park. Along the way, the reader can get a clear understanding of how the hybrid CPU-GPU computing idea can be capitalized on, and how a 500-GPU configuration can be used in large scale machine learning problems.  Wasting no time on obscure issues of little relevance, the book provides an excellent account of the CUDA execution model, memory access issues, opportunities to increase parallelism in a program, and how advanced profiling can squeeze performance out of a code.  Rob provides a snapshot of everything that is relevant in CUDA based GPU computing in a style honed through a long series of Dr. Dobb's articles that have delighted scores of CUDA programmers.  His followers will be delighted once again. Dan Negrut, Associate Professor, University of Wisconsin-Madison, NVIDIA CUDA Fellow

About the Author

Rob Farber has served as a scientist at the Irish Center for High-End Computing, U.S. national labs in Los Alamos, Berkeley, and the Pacific Northwest, and external faculty at the Santa Fe Institute. His articles have appeared in Dr. Dobb's Journal and Scientific Computing, among others.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

5 star
2 star
1 star
3.7 out of 5 stars
3.7 out of 5 stars
Most Helpful Customer Reviews
3.0 out of 5 stars A bit hard to follow 15 Jan 2014
Format:Paperback|Verified Purchase
Seemingly nice book to have, but I have read better ones.
Its kind of getting all over the place with somewhat messy examples.
Comment | 
Was this review helpful to you?
4.0 out of 5 stars Full of hooks and tips for Cuda applications 13 Jun 2013
Format:Paperback|Verified Purchase
This is probably not the best first book on Cuda since it is more an overview of the possibilities available fromt he Cuda platform, but it's a great book for pointing users int he right direction once they have a grasp of the basics with Cuda. Generic functions and links are provided along with concise 'get-you-started' programs and snippets, so that the reader is presented with a variety of hooks into video apps, medical imaging technology and so on, without having to search high and low online for either tutorials or inspiration. With this in your armory, it's all about hard-core coding hereon, and no-one's going to do that for you! Brilliant book, my only gripe is that I'd have preferred more full-on A-Z examples.
Comment | 
Was this review helpful to you?
4.0 out of 5 stars Overview 4 Mar 2012
As one might expect any book authored by a Research Scientist will go into detail to considerable depth. This book is no exception. But that is no bad thing even if - like me - you feel unqualified to comment on the finer points. It simply cements the top-level understanding which this book gives.

I purchased this book to gain insight into the differences in GPU architecture (and memory layout) from CPU architectures. The book achieved this.(bearing in mind the fact that most readers will already have some knowledge of CPU architecture.)

With a CUDA enabled video board, the free NVidia Cuda compiler, and this book, readers should be able to leverage themselves into a level at which they are able to fully exploit the benefits that the latest technologies can offer.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 3.0 out of 5 stars  6 reviews
8 of 8 people found the following review helpful
2.0 out of 5 stars uneven quality - i don't think it' s worth the price 13 Dec 2012
By S. Saha - Published on
The book is a mixture of good and bad. On the good, the author knows a great deal about the subject and does a pretty good job of explaining GPU architecture. Chapters 1 and 4-7 are very useful and definitely worth reading for any cuda developers. Chapter 12 is also fun.

The bad- I think large parts of the book are straight from other works by the author especially from a series of articles he wrote for Dr. Dobb's. The summary for Chapter 8 even refers to the chapter as "this article". So, often concepts are explained twice or used before they're explained in a later chapter e.g. thrust::reduce is used from chapter 1, finally explained in chapter 8 i believe.

Chapters 2 and 3 should be avoided at all costs especially all the code. Read it at your own risk. The explanation of it is fragmented and random design choices and variable naming just adds to the confusion. The code in the other chapters is better. As a rule of thumb, if the code takes up more than 1 page skip it and any discussion of it - there's no benefit to reading it.

There's also an extremely uneven assumption of reader knowledge throughout the book - the author at one point spends a page and a half explaining why testing is important. It takes him 3 lines to explain that someone pointed out his code could come up with a number so large that the variable couldn't hold it. Why didn't he just say "overflow" ? This is just after discussing pre-processor directives and simplex methods!

So yeah, read the Dr. Dobb's articles if they're freely available. There's some good content in this book but a lot of it can be found in the cuda docs and websites/blogs. Given those resources, I feel this book isn't worth the price.
2 of 2 people found the following review helpful
4.0 out of 5 stars Easy to read and clear enough to follow 3 Dec 2012
By Sam - Published on
Format:Paperback|Verified Purchase
It's a rookie level CUDA book. It includes the info you need to know as a CUDA starter and you can start to program very soon. At meantime, I suggest read David B. Kirk's <<Programming Massively Parallel Processors>> as well, which gives more fundamental understanding of how CUDA works at a higher level.
1 of 1 people found the following review helpful
3.0 out of 5 stars High hopes, let down. 3 Aug 2013
By MADELINE - Published on
Format:Paperback|Verified Purchase
I have found the other books in this series by nvidia quite helpful; I was looking forward to this text because it promised to present an entire application life-cycle. In particular, I was interested in profiling and debugging techniques, which (at least at the time of the purchase) pretty poorly documented.

So there was some good information in this book, esp towards the end, however this particular author has some sort of idée fixe about objective functions. They are, perhaps, not a terrible example application, but myself not being well versed in the topic, I found that the author would alternately baby you through basic steps, and then skip over large portions of the theory necessary to understand the algorithms employed.

While perhaps not quite fair to include in this book, the same author has written similarly about the Intel Phi architecture, and at a recent conference, his presentation (to experts) could best be described as "bloviating" whilst at the same time being almost completely uninformative.

Unfortunately, it is currently the only book I know of that (again) takes you through the lifecycle development of a CUDA-enabled app. Suggestions welcome.
4.0 out of 5 stars Very Practical 24 April 2013
By mabouali - Published on
Format:Paperback|Verified Purchase
This is indeed a very good book to quickly learn about CUDA. Lot's of examples.

Although it does not cover new features. I hope a new revision comes out soon with new features included in the CUDA.

If you know nothing about CUDA and you want to get a quick start I still recommend this.
0 of 2 people found the following review helpful
4.0 out of 5 stars One of the book. 5 Jun 2013
By Yiqing Lu - Published on
Format:Paperback|Verified Purchase
One of the book I read some but no time to ready all. comparing to other book with more updated informaiton, I rather read new or latest one to worth my time...
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category