Heterogeneous Computing with OpenCL and over 1.5 million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
Trade in Yours
For a £3.20 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Colour:
Image not available

 
Start reading Heterogeneous Computing with OpenCL on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Heterogeneous Computing with OpenCL, [Paperback]

Benedict Gaster
5.0 out of 5 stars  See all reviews (2 customer reviews)
RRP: £42.99
Price: £41.93 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £1.06 (2%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 5 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want delivery by Tuesday, 28 May? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £31.45  
Paperback £41.93  
Trade In this Item for up to £3.20
Trade in Heterogeneous Computing with OpenCL, for an Amazon.co.uk gift card of up to £3.20, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more
There is a newer edition of this item:
Heterogeneous Computing with OpenCL: Revised OpenCL 1.2 Edition Heterogeneous Computing with OpenCL: Revised OpenCL 1.2 Edition
£37.83
In stock.

Book Description

7 Oct 2011 0123877660 978-0123877666
"Heterogeneous Computing with OpenCL" teaches 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 OpenCL" includes detailed examples throughout, plus additional online exercises and other supporting materials. It explains principles and strategies to learn parallel programming with OpenCL, from understanding the four abstraction models to thoroughly testing and debugging complete applications. It covers image processing, web plugins, particle simulations, video editing, performance optimization, and more. It shows how OpenCL maps to an example target architecture and explains some of the tradeoffs associated with mapping to various architectures. It addresses a range of fundamental programming techniques, with multiple examples and case studies that demonstrate OpenCL extensions for a variety of hardware platforms.

Frequently Bought Together

Heterogeneous Computing with OpenCL, + OpenCL Programming Guide (OpenGL) + OpenCL in Action: How to accelerate graphics and computation
Price For All Three: £107.73

Some of these items are dispatched sooner than the others.

Buy the selected items together


Product details

  • Paperback: 296 pages
  • Publisher: Morgan Kaufmann (7 Oct 2011)
  • Language: English
  • ISBN-10: 0123877660
  • ISBN-13: 978-0123877666
  • Product Dimensions: 19.1 x 1.6 x 23.5 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 480,998 in Books (See Top 100 in Books)

Product Description

Review

"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

About the Author

Benedict R. Gaster is a software architect working on programming models for next-generation heterogeneous processors, in particular looking at high-level abstractions for parallel programming on the emerging class of processors that contain both CPUs and accelerators such as GPUs. Benedict has contributed extensively to the OpenCL's design and has represented AMD at the Khronos Group open standard consortium. Benedict has a Ph.D in computer science for his work on type systems for extensible records and variants. Lee Howes has spent the last two years working at AMD and currently focuses on programming models for the future of heterogeneous computing. Lee's interests lie in declaratively representing mappings of iteration domains to data and in communicating complicated architectural concepts and optimizations succinctly to a developer audience, both through programming model improvements and education. Lee has a Ph.D. in computer science from Imperial College London for work in this area. David Kaeli received a BS and PhD in Electrical Engineering from Rutgers University, and an MS in Computer Engineering from Syracuse University. He is the Associate Dean of Undergraduate Programs in the College of Engineering and a Full Processor on the ECE faculty at Northeastern University, Boston, MA where he directs the Northeastern University Computer Architecture Research Laboratory (NUCAR). Prior to joining Northeastern in 1993, Kaeli spent 12 years at IBM, the last 7 at T.J. Watson Research Center, Yorktown Heights, NY. Dr. Kaeli has co-authored more than 200 critically reviewed publications. His research spans a range of areas including microarchitecture to back-end compilers and software engineering. He leads a number of research projects in the area of GPU Computing. He presently serves as the Chair of the IEEE Technical Committee on Computer Architecture. Dr. Kaeli is an IEEE Fellow and a member of the ACM. Perhaad Mistry is a PhD candidate at Northeastern University. He received a BS in Electronics Engineering from University of Mumbai and an MS in Computer Engineering from Northeastern University in Boston. He is presently a member of the Northeastern University Computer Architecture Research Laboratory (NUCAR) and is advised by Dr. David Kaeli. Perhaad works on a variety of parallel computing projects. He has designed scalable data structures for the physics simulations for GPGPU platforms and has also implemented medical reconstruction algorithms for heterogeneous devices. His present research focuses on the design of profiling tools for heterogeneous computing, He is studying the potential of using standards like OpenCL for building tools that simplify parallel programming and performance analysis across the variety of heterogeneous devices available today. Dana Schaa received a BS in Computer Engineering from Cal Poly, San Luis Obispo, and an MS in Electrical and Computer Engineering from Northeastern University, where he is also currently a Ph. D. candidate. His research interests include parallel programming models and abstractions, particularly for GPU architectures. He has developed GPU-based implementations of several medical imaging research projects ranging from real-time visualization to image reconstruction in distributed, heterogeneous environments. Dana married his wonderful wife Jenny in 2010, and they live together in Boston with their charming cats.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:


Customer Reviews

4 star
0
3 star
0
2 star
0
1 star
0
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
5.0 out of 5 stars Great introduction. 31 Jan 2012
Format:Paperback|Amazon Verified Purchase
Very well structured with practical examples (matrix multiplication and image manipulation). I was running code on 2 graphics cards and 2 Xeons the day after this arriving using Nvidia and Intel opencl implementations ( both free to download).

Note that although the book is written by AMD people and they refer to AMD products in examples, it doesn't detract from it's usefulness.
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Great Book 14 Jan 2012
Format:Paperback
Provides everything you need to know. Significantly more succinct than the 'OpenCL Programming Guide'. Contains excellent examples and outlines - especially of the underlying example. It isn't just a rewrite of the specification.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.5 out of 5 stars  37 reviews
11 of 15 people found the following review helpful
3.0 out of 5 stars No wonder OpenCL hasn't caught on 20 Feb 2012
By Jaime Moreno - Published on Amazon.com
Format:Paperback|Amazon Vine™ Review (What's this?)
If this is what AMD has to provide developers no wonder OpenCL hasn't caught on yet.
First thing that caught my attention were the blatant spelling and grammatical errors. As though the book wasn't even proofread?
The first chapter starts off easy enough but the book warns that concurrent programming is hard and if you thought serial programming was hard you ain't seen nothing yet. They weren't kidding! The amount of code and steps just to write a basic hello program in OpenCL is ridiculous. Granted a lot of it is boilerplate code that only has to be written once and reused but the book doesn't even do a great job of making it any easier. The code samples also look like they were each written by a different person using C sometimes and C++ at other times.
Other than the nice illustrations and diagrams probably the best thing about this book is that is was so bad that it made me learn more about OpenCL than I ever cared to know by forcing me to Google for information missing from it and referring to other better resources. So that's why I'm even giving it 3 stars.
Like the OpenCL Programming Guide for Mac OS X. Apple's developer documentation which is from 2009 is seems to exactly the same thing as the first chapter in this book but Apple's is way better since they actually have code comments on just about every line walking you step-by-step through the code. So in the end this book showed me how good Apple's documentation really is. I always heard it was pretty good but didn't have an idea until now.
Later chapters seem to be a bunch of random case studies on what OpenCL is good at and some advanced ways to use it. The typical matrix, histogram and image processing examples you normally see in any parallel programming book, nothing that really stands out. Later chapters provide only minimal explanation of the code and that probably explains why the book is so short. Many of the details like OpenCL types, etc. are left for the reader to look up in some other book. If you are thinking of using this book as an introductory textbook they also leave the reader to come up with exercises/problems since there are absolutely no exercises included. The book also spends some time talking about various obscure loop unrolling methods which I'm not sure how relevant they are since this is now built into IDE's like XCode via auto-vectorization option.
As everyone has already stated the book is pretty AMD and Windows centric so none of the code worked on my Apple with MacOSX. Granted the book never said anything about Macs but isn't the whole point of OpenCL to be able to run on any hardware and OS? Also, the last several chapters deal exclusively with tools only available on Windows so not so useful on other operating systems.
I eventually did get the code examples to work on my Mac after some hard reworking of the code in the book. This was not as easy task, since depending on who you ask and where you look Macs either support or don't support OpenCL. Mac OS X, Mountain Lion, just released supports the latest version OpenCL 1.2 according to their documentation. Seems to me they should've worked closer with Apple since it seems that they are making more use of OpenCL than Windows which is introducing C++ AMP to compete with it.
I don't see OpenCL gaining much momentum as suggested in this book in the future until they make it easier to program than mpi,pthreads,not harder than competing alternatives and improve support across all platforms.
As the book states there are some embarrassingly parallel problems that OpenCL is very good at. Unfortunately, it is also embarrassingly hard to program and this book doesn't help much. Don't take my word for it as the majority of the OpenCL information in the book and better examples, video's, etc... can easily be found on AMD's developer website or any other number of places on the web.
10 of 14 people found the following review helpful
4.0 out of 5 stars Nice book with one significant design flaw 16 Dec 2011
By Dave - Published on Amazon.com
Format:Paperback|Amazon Vine™ Review (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.
9 of 13 people found the following review helpful
5.0 out of 5 stars Great springboard into OpenCL 15 Dec 2011
By Joshua Senecal - Published on Amazon.com
Format:Paperback|Amazon Vine™ Review (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.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges