Search  for anything...

CUDA by Example: An Introduction to General-Purpose GPU Programming

  • Based on 0 reviews
Condition: New
Checking for the best price...
$36.51 Why this price?
Save $13.48 was $49.99

Buy Now, Pay Later


As low as $9 / mo
  • – 4-month term
  • – No impact on credit to apply
  • – Instant approval decision
  • – Secure and straightforward checkout

Ready to go? Add this product to your cart and select a plan during checkout.

Payment plans are offered through our trusted finance partners Klarna, Affirm, Afterpay, Apple Pay, and PayTomorrow. No-credit-needed leasing options through Acima may also be available at checkout.

Learn more about financing & leasing here.

Free shipping on this product

FREE 30-day refund/replacement

To qualify for a full refund, items must be returned in their original, unused condition. If an item is returned in a used, damaged, or materially different state, you may be granted a partial refund.

To initiate a return, please visit our Returns Center.

View our full returns policy here.


Availability: Only 3 left in stock, order soon!
Fulfilled by Amazon

Arrives Sunday, Jun 21
Order within 14 hours and 8 minutes
Available payment plans shown during checkout

Protection Plan Protect Your Purchase
Checking for protection plans...

Description

“This book is required reading for anyone working with accelerator-based computing systems.”–From the Foreword by Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required–just the ability to program in a modestly extended version of C.CUDA by Example, written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You’ll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance.Major topics covered include Parallel programming Thread cooperation Constant memory and events Texture memory Graphics interoperability Atomics Streams CUDA C on multiple GPUs Advanced atomics Additional CUDA resourcesAll the CUDA software tools you’ll need are freely available for download from NVIDIA. example.html Read more

Publisher ‏ : ‎ Addison-Wesley Professional


Publication date ‏ : ‎ July 19, 2010


Edition ‏ : ‎ 1st


Language ‏ : ‎ English


Print length ‏ : ‎ 320 pages


ISBN-10 ‏ : ‎ 0131387685


ISBN-13 ‏ : ‎ 83


Item Weight ‏ : ‎ 1.1 pounds


Dimensions ‏ : ‎ 7.3 x 0.6 x 9 inches


Best Sellers Rank: #276,905 in Books (See Top 100 in Books) #13 in Parallel Computer Programming #33 in Computer Hardware Design & Architecture #122 in Introductory & Beginning Programming


Frequently asked questions

If you place your order now, the estimated arrival date for this product is: Sunday, Jun 21

Yes, absolutely! You may return this product for a full refund within 30 days of receiving it.

To initiate a return, please visit our Returns Center.

View our full returns policy here.

  • Klarna Financing
  • Affirm Pay in 4
  • Affirm Financing
  • Afterpay Financing
  • PayTomorrow Financing
  • Financing through Apple Pay
Leasing options through Acima may also be available during checkout.

Learn more about financing & leasing here.

Top Amazon Reviews


  • Definitive Introductory Text to CUDA C
Format: Paperback
A great deal has been written about the various visions regarding parallel processing. In this dazzle it is often lost to the uninitiated, that parallel computing is not some distant promise, but a revolution that is well in the progress of happening. NVIDIA's CUDA platform is one, and perhaps the easiest and most affordable, of the ways to catch up and to join the front wave of this revolution. CUDA has several components from a hardware architecture for graphics processors to a high level programming interface, implemented as a few extensions to the C language, called CUDA C. One of the main features of the CUDA project is that it makes a systematic effort to separate the programming layer from the chip architecture. "CUDA by Example" by Sanders and Kandrot is the first book to make full use of this abstraction and to concentrate solely on the software side. As a result, it is the first text eminently suitable as a basis for an introductory course on CUDA C for students of software engineering or scientific computing. Working through the book the student, or reader, get acquinted step-by-step with most important distinguishing features of parallel programming, like need for memory sharing, event sychronization, atomic operations and isolated processing streams. All this is taught through sofware examples without the need to dwelve into the details of chip architecture. All that is required is some experience in basic C programming and an optional $200-300 "gamer" graphics board to demonstrate the real-life performance gains (no graphics programming experience is required). The authors put a lot of thought into designing each chapter and the corresponding illustrating exaples in such a way that the reader can concentrate on just one new feature at any one time. Every chapter has typically two examples: A very basic one focusing on the newly introduced feature and a more exciting one illustrating some of the power of the new feature. E.g. in the chapter on synchronization, the basic example is provided by the scalar product of two vectors and the need to complete all termwise multiplications before adding up their products. The more dazzling example is a little graphics program, where the lack of proper synchronization manifests itself in the same scrambled screen patterns as what old CRT TV's displayed, when they had synchronization problems. My personal favorite is the very simple heat conduction example, that visually demonstrates the potential of the use of texture memory for spatially related data. It is a gem of simplicity and clarity. (It also captured my fascination because previously I was not able to figure out how to benefit from texture memory in general-purpose applications.) The conscientious choice by the authors to write a software book for software developers implied that hardware dependent tricks had to be omitted. Specifically, code optimizations, that depend on specifics of various generations of chip designs, are not covered. This, as every compromise, has two sides. The positive one is that the knowledge acquired by working through the book will not become outdated, when a new generation of graphics boards hits the market. It also leaves the door open for other potential authors to write a second book on CUDA optimizations. In summary, "CUDA by Example" is an excellent and very welcome introductory text to parallel programming for non-ECE majors. It is very systematic, well tought-out and gradual. It goes beyond demonstrating the ease-of-use and the power of CUDA C; it also introduces the reader to the features and benefits of parallel computing in general. Perhaps a more fitting title could have been "An Introduction to Parallel Programming through CUDA-C Examples". I plan to use this book as the text for the first half of a graduate course on parallel computing for data analysis and quantitative finance. ... show more
Reviewed in the United States on August 20, 2010 by x64

  • Good first CUDA book
Format: Paperback
I read this book a few months ago along with these 2 other books - "Programming Massively Parallel Processors" and "CUDA Application Design and Development" so maybe my review is a bit biased. Pro: (i) Overall, it is a good introductory book. Easy to read. (ii) Good examples, guide the readers step-by-step of what is going on. (iii) Good coverage of some important topics. Con: (i) I agree with another reader here that since this is an introductory text, some instructions of naming the file as *.cu and compile it with nvcc, etc. should be given. Sometimes setting up a development environment could be difficult and/or time-consuming, I for one don't really like to do it. (ii) Snippets of code were introduced first and then the whole program is then reprinted again. IMHO, a bit of re-organization can avoid such problem plus it's a waste of paper. (iii) The pace is a bit slow for me and I think the book could have been shorter. All in all, I would recommend this book to CUDA newbie but keep in mind that some of the topics are already obsolete. ... show more
Reviewed in the United States on December 19, 2012 by PC

  • The best introduction to CUDA by far.
This is an excellent introduction to CUDA. The prose and content are excellent: I read it cover-to-cover in a single sitting and enjoyed every page. The authors clearly explain the basic CUDA paradigm starting with very simple code and working up to progressively more complex examples. The authors spend a considerable amount of time discussing different memory types and memory access styles, motivating when each style is appropriate. The code snippets are clean, clear and concise, providing a minimal yet complete introduction to each new language feature. Highly recommended! The book does not provide an HTML pointer to the source code used in the book. Edward Kandrot writes: "The Kindle version shipped a week too soon, it was supposed to ship next week when the physical book ships. Because of this, the website at NVIDIA wasn't done yet. Jason just spent the day making the website happen! [...] is where the source code is currently located. I hope this helps. I wrote the examples to be specific for what is being covered, putting extras in the header files so as not to distract from the topic at hand. Only really works if the reader has the header files as well..." ... show more
Reviewed in the United States on July 22, 2010 by Mark A. Peot

  • Brief professional piece to start out with
Format: Paperback
One of the best resources to start with CUDA. Positive aspects from a starting-out perspective: -- a small, very readable book focusing on the important parts to start with; comprehensiveness has it's merits but not when we are just starting out -- brevity does not mean superficialness; the book is very methodical, has examples when you start doing some technique, but alas, it does not improve performance; then it explains more background and help to fix the issue; sticks much better than feeding the conclusion up front -- complete working samples -- enjoyable style; one of the very very small number of books where I am able to appreciate all of the humor (and I'm fussy about this topic; have other reviews triggered by the contrived tiresome attempts to be humorous, which is the case in most tech books I've seen) Will need to read other book(s) after this one but a very good one to start with. Anyone criticizing because of the size is either missing the point or did not get the right book for his own need (through no fault of his own). ... show more
Reviewed in the United States on May 6, 2015 by Amazon Reviewer

  • Great intro level book
Format: Paperback
This is a very well done introductory textbook for CUDA programming. The examples are very well explained, and are general enough that you really learn the broader concepts, not just how to do the what the example does. It is written in the standard C CUDA, but does mention that there are other language implementations of CUDA. It does *not* explain how to do anything in them, or the names of any of the libraries are anything, so if you are looking to do pyCuda or MatCuda, this is not the book for you. It does a good enough job of explaining that it is easy to understand even if you have no background in parallel computing or in C. Each example is built modularly, so you can see how each section works and why they do it that way. This really is a fantastic book to begin your journey into GPU programming with NVIDIA. ... show more
Reviewed in the United States on October 14, 2012 by Hillary Dennison

  • A potentially great introduction to CUDA spoiled by endless typos and mistakes
I don't regret buying this book because the contents are a very good tutorial on CUDA. That said, this is a unnecessarily hard to read book, and here's why: Pros: - Nice practical examples, most of them using visual representations of the data being processed; - Topics are introduced in an order that makes it easier for the reader to go from the basics to more advanced topics without feeling overwhelmed. Cons: - As other readers already mentioned, I often felt that the author was too verbose and trying to fill pages with [non-useful] repetition and/or random jokes; - Very often the code presented in the book is missing important parts, cluttered with errors that make it very hard to understand what's going and a very annoying lack of coding style (e.g. in the same example the author uses two or three different naming styles for variables). The source codes that can be downloaded from the website are usually correct (and different from the book) but that still makes the book nearly useless since the reader needs to constantly go back and forth between book and code in order to fully understand the concepts. This could very easily have been a 5 star book if it weren't for the above mentioned issues. Hopefully this will be fixed in future editions. ... show more
Reviewed in the United States on June 4, 2013 by Henrique

  • Can't go without this book if you are learning CUDA.
CUDA programming is often recommended as the best place to start out when learning about programming GPU's. The learning curve concerning the framework is less steep than say in OpenCL, and then you can learn about OpenCL quite easily because the concepts transfer quite easily. This book is aimed at a beginner in CUDA and the level of the explanations clearly shows that the authors are aware that it is so new to the reader that he/she will need a lot of explanations. However there are times in which I feel the style of this book is insufferable. For example there is a joke of a program which prints Hello World. This can be annoying to someone keen to see the first real example of parallel programming. The authors dont give you much help with regards to installation. Yet, I cant think of any book that can really replace this book. If you are starting out, you pretty much have to have it. It covers certain subjects that Wen-mei Hwu does not cover in his book. In fact in the latter's Coursera course he suggests that you read Sander's book for certain topics. ... show more
Reviewed in the United States on March 31, 2014 by M. Henri De Feraudy

  • Great book
Format: Paperback
I loved reading this book. It helped me in getting my concepts sorted.
Reviewed in the United States on April 25, 2025 by Brijendra

Can't find a product?

Find it on Amazon first, then paste the link below.
Checking for best price...