GPU Computing Gems Emerald Edition (Applications of GPU Computing Series)
W**N
Interesting, but too diverse in scope
Interesting topics are covered, but the variety and coverage are over reaching. This is more like a book full of articles than a useful reference. Also, I believe that you can now get all of the books on the Nvidia website for free.
S**N
A missed opportunity
I have to agree with H. Nguyen. This book is a missed opportunity. GPGPU computing is new for programmers and barely even known by scientists. The entries in this book don't really show sophisticated GPGPU philosophy or idioms. You won't read this and have "aha" moments. It would be nice if the text focused on advanced uses of segmented scan (the central trick in GPGPU computing) for load balancing and allocation, and helped the reader develop a toolbox for writing their own kernels. What's really needed is a GPU replacement for basic computer science texts like Sedgewick et. al. Just learning how to add up numbers, write a sort, write a sparse matrix code, etc, near peak efficiency of the device, is a great learning experience, because you learn to think with cooperative thread array logic rather than imperative logic. Until you master that, it's not possible to write efficient GPU code. I give the contributors credit for the articles, but I think the editorship made a mistake by not giving the book a clearer and more narrow focus. Hopefully there will soon be a book that tackles ten can't-live-without algorithms and covers them in very fine detail, addressing all performance aspects of the code and showing how coupled it is to device architecture.On the other hand I'm giving the book a second star because it does let the reader know there are others using GPGPU to solve science problems, and the topics are pretty interesting, even if the implementations are not in the GPU idiom.The best references are still the technical docs from NVIDIA and ATI (you should read both vendor's docs even if you only deal with CUDA, as extra perspective helps), the CUDA technical forum, and the handful of research papers written by good GPGPU coders (many who work at NV now).
D**W
Perfect review of GPU Programming
As others have mentioned this book does not delve deep into any specific topic. However, I do not want it to. I feel that this book is perfect in the fact it gives me a broad understanding of GPU programming. It discusses the implementation and algorithms used in mathematic and computer terms (code), it explains a bit of history and the recent changes in GPU technology and it offers a wide overhead of most topics, and it gives comparisons of speed tests for different processes and algorithms. For the most parts I do not expect books that are based on a wide topic (like GPU) to delve deep into a specific area, if I need more info on that area I would buy a book specifically for that area. This book gives me an overhead of all concepts of GPU and allows me to decide if I want to delve deeper into that area (either with the internet or another book). This book is broken down into easy to find and read sections (with subsections) and offers plenty of diagrams and pictures to help visually understand what is being referred. I like this book and it is a great reference for any task that deals with GPU programming; my only flaw with the book is that it is not in color (and being a book about Graphics Processing, you would expect RGB coloring and shading diagrams to be in color). In all it is an easy read and broken down into small findable sections that are great for reference books.
W**E
a lot of the book is still about graphics
Hwu has assembled a grab bag of intentionally diverse numerical applications where Graphics Processing Units are used, mostly as pure computational engines. The book is intended as outreach to a broader audience that might hitherto have been disinclined to use GPUs; regarding them as relegated to mostly graphical work.Yet somewhat ironically, about half the chapters concern graphical uses after all! Section 6 on ray tracing and rendering, Section 7 on computer vision, Section 8 on video and image processing and Section 10 on medical imaging. 23 of the 50 chapters belong to those sections. Still, even in the context of graphics, the book can be helpful. Section 10 has 11 chapters on ways to perform medical image processing by leveraging the massively parallel nature of GPUs. Since the latter was historically focused on games; certainly if you look at other texts on GPUs, this is the general impression. Even a broadening of GPU usage to the biomedical field can be salutary. Partly because a developer in that field might not be as aware of how game oriented hardware can be germane.The other sections of the book do take us much further outside graphics. One chapter on quantum chemistry jumped straight into molecular dynamics simulations. Something that once started in physics and thanks in part to computational hardware advances, now has migrated to chemistry. I certainly did not expect to see mention of the Born-Oppenheimer approximation and Hamiltonian matrices in this book! That particular chapter reported impressive results with GPUs, but only in some situations.Overall, that is something to keep in mind when reading the book. Even given that the editor undoubtedly selected contributed chapters that were overall positive for GPUs, you should be aware that gains can be nuanced and are not automatic. Specific analysis is required of an application.
J**A
Inspiration für CUDA-Experten in den Naturwissenschaften
Dieses Buch ist eine Sammlung von 50 wissenschaftlichen Artikeln über Erfahrungen bei der Verwendung des GPU-Computing in verschiedenen Fachgebieten.Alle Artikel haben einen ähnlichen Aufbau: nach dem Abstract folgen die theoretischen Grundlagen, die teilweise sehr mathematisch sind. Anschließend werden die Kernel vorgestellt, die dann wiederum optimiert werden. Letztlich wird die Performance mit der CPU verglichen.Die Autoren stellen hier Techniken vor, mit denen sie erhebliche Performance-Gewinne erreichen konnten. Für mich als CUDA-Entwickler war das an vielen Stellen interessant.Ich kann dieses Buch aber nicht uneingeschränkt empfehlen. Eine Begeisterung für CUDA und für die naturwissenschaftlichen Algorithmen muss beim Leser vorhanden sein. Wenn man einfach nur die Optimierung mit CUDA lernen will, ist das hier nicht das richtige Buch.P.S. Das Buch ist schon 2011 erschienen, daher sind ein paar Stellen schon veraltet. Ich bewerte es aber jetzt erst, weil ich erst jetzt alle 50 Artikel gelesen habe.
Trustpilot
1 week ago
2 months ago