- Paperback: 528 pages
- Publisher: Addison-Wesley Professional; 1 edition (June 22, 2013)
- Language: English
- ISBN-10: 0321809467
- ISBN-13: 978-0321809469
- Product Dimensions: 7.6 x 1.1 x 9 inches
- Shipping Weight: 1.8 pounds (View shipping rates and policies)
- Average Customer Review: 11 customer reviews
- Amazon Best Sellers Rank: #402,642 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 Handbook: A Comprehensive Guide to GPU Programming, The 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
From the Back Cover
About the Author
Nicholas Wilt has been programming professionally for more than twenty-five years in a variety of areas, including industrial machine vision, graphics, and low-level multimedia software. While at Microsoft, he served as the development lead for Direct3D 5.0 and 6.0, built the prototype for the Desktop Window Manager, and did early GPU computing work. At NVIDIA, he worked on CUDA from its inception, designing and often implementing most of CUDA’s low-level abstractions. Now at Amazon, Mr. Wilt is working on cloud computing technologies relating to GPUs.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The documentation supplied by nVidia is very good, and several excellent beginners' books are available. But these things fail to answer the many subtle issues that arise. That's where this book comes in. Over and over as I read it, I said, "Ohhh, that's why I have to do it that way." This book was written by a real insider, someone who knows CUDA as only an insider can. So this book is MANDATORY for anyone who wants to become an expert in CUDA programming.
However, be warned that this book is NOT for beginners! It presupposes extensive experience in CUDA programming. If this is the first CUDA book you pick up, you'll be hopelessly lost. Tackle this book only after you have a lot of CUDA under your belt.
For those programmers who haven't had the time to perceive the changes, GPU programming is a current change in programming design that is sweeping the world of network VOIP management, parallel analysis and simulation, and even supercomputing in a single box. I have personally run a Starfield Simulation on a portable with an i7 processor that increased in speed 112 times by using the internal NVIDIA GeForce 570M. The Starfield frame time reduced from about 2 seconds to about .015 sec. Imagine what I could do with a GeForce 690! Charts indicate that it might exceed 700 times the computing speed!!This book not only tells me how to arrange the software to work with the NVIDIA SDK, but it also shows me the important differences in the architecture of many of the NVIDIA cards to obtain optimum performance.
The world of computing is still filled with 32 bit machines( or OS sysstems ) using most of their memory to get their assigned tasks completed. Many of these machines do not have even four core CPUs, forget having over 4GB of memory. They fill computers in production devices, desktops in database support companies, and the racks of IT departments everywhere. The need for faster and more computing does not slow down or stop for these hardware limits. Ant the cost to replace them outright is prohibitive. Now, a demand to manage 5000 computer domains arrives or a messaging demand for 1500 VOIP channels to be mixed in a hundred groups is brought on board or a control simulation to manage six robotic arms in an assembly line needs to be run. Without clustering a dozen to one hundred other computers to manage the computing load, the only practical solution is to employ one or two GPUs. Projects that ignore this message are destined to fail and along with that comes damaged careers and lost jobs.
The solution to avoiding the trap of limited legacy hardware is to use GPUs to take up the load and stop overloading the limited memory and CPU cores to do the increased workload. Each GPU can add 2300 streaming multiprocessors to perform the work. And each GPU cards can add 4GB of high speed memory to the limited program memory on the motherboard, which may only be 2GB.
The book introduces the GPU architecture, GPU device memory usage and loading, and Kernel processor code design. Once you have mastered the terminology and run some of the examples, you will be able to start developing code for specific solutions. The first chapters introduce you to NVIDIA GPU devices. The meat of the book starts in Chapter 5 with proper memory handling procedures. Chapter 7 expands the material on blocks, threads, warps, and lanes will straighten out the terminology and get you headed into constructive code to manage the upcoming design.
If your task goes beyond the capabilities of a single GPU, Chapter 9 introduces multiple GPU programming management. The choice of one of the later client motherboards provides up two four PCIE sockets with the potential of holding four GPUs. That kind of super-computing ability for about $500 a GPU can meet even a gamer's budget. Be aware though that added complexity requires added design refinement. Routines need to be optimized, and Chapter 11 will help you reduce memory usage and Chapter 12 will help you increase the efficiency of Warp usage.
Three more chapters involve reductions for routines used in specialized applications that may become of interest to you and are also helpful in further mastering the concepts needed to master GPU computing.
Personally, I have a financial program that exceeded my i7 CPU capability for prediction using neural networking because it took more than all night to determine ranking for 400,000 stocks. And I thought that the one hour download time off the internet was onerous. Now I have an affordable solution that won't require me to build a shed out in the backyard to hold all the computers that would normally be required to add this feature to my design. All I have to pay for is a bigger power supply and a single GPU card. Happy computing!
Despite two stars, I would give it a try. You may like it.
I can't say much more about this book except this: if you really want to learn CUDA, buy it. You won't be disappointed.
In summary, it is not a good book for a beginner or an intermediate person.