Heterogeneous Computing with OpenCL 1st Edition

28 customer reviews
ISBN-13: 978-0123877666
ISBN-10: 0123877660
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Sell yours for a Gift Card
We'll buy it for $2.02
Learn More
Trade in now
Have one to sell? Sell on Amazon
Buy used
In Stock. Sold by Full Paper Jacket
Condition: Used: Acceptable
Comment: Former Library book. Scuffed, worn, and may be written in, but everything is still there and ready to read!100% Money Back Guarantee. Shipped to over one million happy customers. Your purchase benefits world literacy!
Access codes and supplements are not guaranteed with used items.
12 Used from $24.47
+ $3.99 shipping
Rent from Amazon Price New from Used from
"Please retry"
Paperback, August 31, 2011
"Please retry"
$78.07 $24.47
More Buying Choices
6 New from $78.07 12 Used from $24.47

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

InterDesign Brand Store Awareness Textbooks

Editorial Reviews


"With parallel computing now in the mainstream, this book provides an excellent reference on the state-of-the-art techniques in accelerating applications on CPU-GPU systems."--David A. Bader, Georgia Institute of Technology

"Intended for software architects and engineers, this guide to OpenCL examines potential uses and practical application of the cross platform programming language for heterogeneous computing. The work explores the use of OpenCL to design and produce scalable applications that have the ability to be optimized for processor core and GPU usage. Chapters cover an overview of OpenCL, basic examples, CPU/GPU implementation and extensions. Illustrations and sample code, as well as sections outlining case studies for the use of OpenCL in several common situations, are provided."--SciTech Book News

From the Back Cover

Heterogeneous Computing with OpenCLteaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future.

Written by leaders in the parallel computing and OpenCL communities, this book will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. The authors explore memory spaces, optimization techniques, graphics interoperability, extensions, and debugging and profiling. Intended to support a parallel programming course,Heterogeneous Computing with OpenCLincludes detailed examples throughout, plus additional online exercises and other supporting materials.


  • Explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications.
  • Covers image processing, web plugins, particle simulations, video editing, performance optimization, and more.
  • Shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architectures
  • Addresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms.

Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Paperback: 296 pages
  • Publisher: Morgan Kaufmann; 1 edition (August 31, 2011)
  • Language: English
  • ISBN-10: 0123877660
  • ISBN-13: 978-0123877666
  • Product Dimensions: 7.5 x 0.6 x 9.2 inches
  • Shipping Weight: 1.2 pounds
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #1,179,691 in Books (See Top 100 in Books)

Important Information

Example Ingredients

Example Directions

Customer Reviews

Most Helpful Customer Reviews

1 of 1 people found the following review helpful By Eugene Tenenbaum VINE VOICE on June 27, 2012
Format: Paperback Vine Customer Review of Free Product ( What's this? )
The ISBN 0123877660 (Heterogeneous Computing with OpenCL) is a relatively short, but competent tutorial with suitable examples narrowly focused on introducing to parallel programming and on guiding the development of programs using exclusively OpenCL with emphasis on AMD hardware as well as its and the program prerequisite's impact on the code effectiveness. It is well written and illustrated in black & white, but it is lacking the basics and thus not for beginners, as, e.g. the comprehensive "Maximizing AutoLISP".

The quality of printing on semi-glossy paper is superb. However the examples are printed using not very prominent typeface constructed from thin and faint segments. The softcover is flimsy and inadequate considering the price.

Gaster & Howes are from AMD (Advanced Micro Devices, Inc.) - a manufacturer of graphics cards for computers. OpenCL gives any application (computer program) access to the graphics processing unit (GPUs) for non-graphical computing. OpenCL programs execute across heterogeneous platforms consisting of central processing unit (CPUs), GPUs, and other processors.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 13 people found the following review helpful By Joshua Senecal VINE VOICE on December 14, 2011
Format: Paperback Vine Customer Review of Free Product ( What's this? )
OpenCL is one of those things that I'd always wanted to get some experience with, so when I saw this book I figured "why not?". I'm glad I did. I found it straightforward and easy to understand, and I think this book is a great way to launch oneself into the world of OpenCL.

The book is an introduction, not a reference, but contains enough material and information to allow the reader to get a good start in OpenCL. Subject material is comprehensive. Chapters cover the basics of OpenCL and the API as well as providing explanations and discussions of how the design and organization of the computing hardware affect the design and performance of OpenCL code. There are lots of informative code examples, and four chapters of case studies, giving the reader some experience in seeing how hardware and program requirements affect the design of OpenCL code.

One minor nitpick: it's not obvious from the cover, but the book is actually from AMD. AMD was one of the first companies (perhaps *the* first) to offer an OpenCL API for their hardware. Most of the hardware-related discussion and examples focus on AMD products. This is fine for giving the reader an understanding of general differences in hardware architecture, but you'll need another source for details on hardware from other vendors.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback Vine Customer Review of Free Product ( What's this? )
There is a certain emphasis on AMD hardware, despite perhaps the presence of 'heterogeneous' in the book's title. Like top level explanations of the AMD Radeon HD6970 or the Bobcat and Bulldozer designs. This sort of thing appears throughout the book. To be sure, other architectures are also discussed, albeit more briefly. So the chapter on OpenCL device hardware compares the AMD Phenom 6 core with the Intel i7 6 core and the Sun UltraSparc T2 8 core. This particular chapter is nice for the overall discussion about the various methods for achieving parallelism over the last 30 years. Going from superscalar to vector processing SIMD all the way to the current use of multicores. The chapter also explains why GPUs differ from general purpose CPUs. The former tend to be very multithreaded, and the graphical tasks are often highly parallel, because different pixels can usually be processed independently.

The rest of the book delves into OpenCL code examples. The syntax is not necessarily the most concise. Others have bewailed this. Indeed, it does seem that you have to insert a lot of boilerplate to do the simplest things. Shades of X Windows! The C++ code naturally needs you to already know C++. If you also know java, you might feel that the C++ examples are more verbose and lack the clean brevity of good java code.

More generally, the graphical operations have routines that need a voluminous number of arguments. Very easy to get wrong, and all this just makes the logic harder to follow.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
12 of 18 people found the following review helpful By Frobisher on December 16, 2011
Format: Paperback Vine Customer Review of Free Product ( What's this? )
Other reviews have uniformly raved about this book and in terms of content matter, I agree with them: It's a nice introduction to the Open CL language itself and the examples are well-chosen. There is a strong emphasis on use with AMD hardware, but that's to be expected given that the first two authors are AMD folks, and that AMD has adopted Open CL enthusiastically, and (I believe) discontinued all development of FireStream, it's earlier proprietary language.

This isn't the book to read if you're interested in any sort of comparison between CUDA, Open CL and MS's language; the purpose of this book is purely Open CL. This should be the book you've selected if you've already decided to use Open CL and to program natively. I mention this because if you're using a professional development tool, such as commercial compilers, the support is much greater in those tools for nVidia's CUDA: many of them will generate CUDA code without programming specifically for it. (This isn't a judgment of CUDA vs anything else, so much a function of CUDA having been around longer.)

The one thing that bothers me is that program code is printed in what appears to me to be gray rather than black text. I understand that this was done to emphasize that one is viewing program code, but given the use of a different font and indentation, I think that this would have been obvious without using a difficult-to-read gray text.

This may not bother you, but be prepared for it.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Want to discover more products? Check out these pages to see more: software development, computer programs