Heterogeneous Computing with OpenCL

1st Edition

Print ISBN: 9780123877666
eBook ISBN: 9780123877673
Imprint: Morgan Kaufmann
Published Date: 17th August 2011
Page Count: 296
69.95 + applicable tax
42.99 + applicable tax
53.95 + applicable tax
Compatible Not compatible
VitalSource PC, Mac, iPhone & iPad Amazon Kindle eReader
ePub & PDF Apple & PC desktop. Mobile devices (Apple & Android) Amazon Kindle eReader
Mobi Amazon Kindle eReader Anything else

Institutional Access


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.

Key Features

  • 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


Software engineers, programmers, hardware engineers, students / advanced students

Table of Contents




About the Authors

Chapter 1. Introduction to Parallel Programming

Chapter 2. Introduction to OpenCL

Chapter 3. OpenCL Device Architectures

Chapter 4. Basic OpenCL Examples

Chapter 5. Understanding OpenCL's Concurrency and Execution Model

Chapter 6. Dissecting a CPU/GPU OpenCL Implementation

Chapter 7. OpenCL Case Study

Chapter 8. OpenCL Case Study

Chapter 9. OpenCL Case Study

Chapter 10. OpenCL Case Study

Chapter 11. OpenCL Extensions

Chapter 12. OpenCL Profiling and Debugging

Chapter 13. WebCL



No. of pages:
© Morgan Kaufmann 2011
Morgan Kaufmann
eBook ISBN:
Paperback ISBN:


"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