Professional CUDA C Programming
S**E
... is made for and whether it might be a good fit for me
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!
D**O
Deep understanding of CUDA programming and performance optimization
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.
S**N
As the title states: it's profession grade CUDA programming
A good professor once professed: "To learn a subject well, you need to get at least 2-3 books on it" . This is certainly true for this book, but for the right reasons, especially considering how to you could devote a phd to gpu programming. Anyhow, this book this book is an excellent resource for learning CUDA. It provides: ample examples of techniques and features; detailed instructions on the NVidia CUDA development kit and tools; how to profile the performance of CUDA programs; elaborate descriptions on GPU architecture and how to leverage and optimize for the architecture; and much more. This book is truly geared for anyone aspiring to be a professional grade CUDA programmer. That being said, many sections are very dense, so I would recommend accompanying learning resources such a lighter weight study material and/or a good lecture series on the subject.
G**.
Great book
Excellent book for programmer's ready to take a more in-depth look at the CUDA architecture. I would have preferred color pages to help with understanding some of the schematics.
B**G
Good book
Amazing resource for learning cuda
M**X
A classic CUDA C book
This book contains details from hardware to software. With basic C and some linux/unix system programming knowledge I'm able to learn CUDA C from zero. Wrox also provides codes for all samples in the book with necessary macro, header file, and library.However, it's worth pointing out that the contents were created couple years back, when CUDA was still at 6.0 (it's 11.0 as Dec. 2020) and the hardware architecture was at Kepler (RTX 30 series just released in Dec. 2020). Nevertheless, most of the contents in the book are still good and the core of CUDA is still the same. For more up to date references, I would recommend to read CUDA official documentations.
K**N
Excellent for learning the real inner workings of CUDA and ...
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.
B**S
Maybe the only CUDA book you need
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.
Trustpilot
1 day ago
4 days ago