Paperback: 528 pages
Publisher: Wrox; 1 edition (September 9, 2014)
Product Dimensions: 7.4 x 1.1 x 9.3 inches
Shipping Weight: 2 pounds (View shipping rates and policies)
Average Customer Review: 4.8 out of 5 stars See all reviews (12 customer reviews)
Best Sellers Rank: #215,187 in Books (See Top 100 in Books) #19 in Books > Computers & Technology > Programming > Parallel Programming #89 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C #831 in Books > Textbooks > Computer Science > Programming Languages
Before getting into this book, you might want to have at least some high-level overview of CUDA.The authors explain not only how to program in CUDA but also how to get the maximum performance out of the hardware. Issues such as branch divergence, uncoalesced memory, etc. are beautifully explained by means of coding examples. The authors also explain how to use NVIDIA profiling tools to assess the performance of your programs.On the other hand, I was somewhat surprised that the book goes deep into the Fermi (2.x) and Kepler (3.x) architectures, but has no mention of the latest Maxwell (5.x) architecture. I guess that's because the authors use Tesla GPUs (not the usual GeForce GT/GTX card), but anyway the code is portable across devices.I used a GeForce GTX 750 Ti and this required some minor adaptations. Since my card had only 2GB of memory, in those examples where the authors allocate 3 vectors of 1GB each, I simply ran out of memory. The fix was to use a smaller vector size, and things ran smoothly again. Also, since my card was a Maxwell, I used nvcc -arch=sm_50 to compile the code samples. Some minor warnings were easy to fix.Recommended for the serious/advanced programmer.
Very pleased with this. I use it along with the book by Sanders & Kandrot. I get to write working code for all the concepts. The diagrams are very helpful. The instructions for how to set up your system are so good that even though the book is for Linux I had no trouble using Windows instead. If you are a Windows user I would encourage you to still buy this book. Once you get into the subject the OS makes no difference. I appreciate how they provide code to verify and test what you are doing. There is a lot of discussion about optimization and you learn a lot experimenting. It is becoming one of those books that I'm marking with tons of notes and looking like an old shoe.
Awesome book!!! easy to understand, code works way better and easier in VS2013 than the one in CUDA by example, also tried the code in OpenSuse 13.1 and it worked nicely in my 780m card, also the excersises are fun to try, I totally recomend this book!! note that its examples are mostly run in Linux, and is focused in Fermi and Kepler archs and the runtime API not the driver API
Before I buy a book I usually read the Introduction so I can figure out what audience the book is made for and whether it might be a good fit for me. In the introduction of this book, it says (among other possible audiences) that the book does not assume 'copious amounts of experience in C programming'. I'd say that was stretching it a little bit since it begins using pointers and bitwise operations in the second chapter. That said, as a relative newcomer to C programming (having used PHP, Java, and Python previously), I did not understand what those things were so it took a bit of learning on the side. I found that what worked for me was to grab a C Programming book, read a couple chapters into it to get a basic understanding, and then reference the appropriate chapters when I came across something new. Then I simply commented what I learned into the code so that I could look at it later and quickly be reminded what worked for me.All of that said - as a review for the book, I love it. It explains why some things are better than others, often down to the hardware level, which really helps to grasp the material. The examples work great and I usually input them and change some things around to make sure I get a solid understanding of it. I haven't yet got to it, but Chapter 8 goes over various libraries, with cuFFT being the one I'm particularly interested in - I count that as a big plus even if they're just basic introductions. Highly recommended!
Excellent for learning the real inner workings of CUDA and GPU devices. Manny examples combined with code that compiles and runs great. A must for the next step to becoming a professional CUDA programmer.
Very happy I bought this book. Chapter 2 is really all I needed and is worth the price. I hear that CPUs are low latency and GPUs make up for their higher latency by parallelism, yet this book spend an awful lot of time (maybe 70%) telling you how to improve latency on the GPU side. I would much rather have learned how to increase parallelism.Way to much focus on the nitpicky details of GPU generations, memory management, and all of the Nvidia talking points. It would have been better to focus on CUDA C PROGRAMMING and not hardware details.I'm only critical because this subject is important to me, it's a tricky branch of programming. If you are using MS Visual Studio, you will have to adapt the sample code to your project primarily by including common.h in your project with few other tweaks. A little distraction but not a roadblock. I have spent more time with this book than any other in many years.