- Paperback: 336 pages
- Publisher: Morgan Kaufmann; 1 edition (November 14, 2011)
- Language: English
- ISBN-10: 0123884268
- ISBN-13: 978-0123884268
- Product Dimensions: 7.5 x 0.8 x 9.2 inches
- Shipping Weight: 11.2 ounces (View shipping rates and policies)
- Average Customer Review: 7 customer reviews
- Amazon Best Sellers Rank: #1,366,949 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
CUDA Application Design and Development 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
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 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.
Browse award-winning titles. See more
Top customer reviews
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.
It keeps showing you convoluted examples before actually explaining all the concepts you need to know before you can understand the example. Before explaining you the architecture, which is key for you to understand the code, it goes through the above process quite a few times.
I can't imagine that someone with zero knowledge on the subject would read this cover to back and be somewhat proficient at coding in CUDA.
If you are a beginner, I would say that you would be better off looking elsewhere. This book might be a good acquisition for you if you already know a lot of CUDA and want to go through another book.
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.
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.