Heterogeneous Computing with OpenCL™
By Benedict Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry & Dana Schaa
Read Lee Howes’ blog about the book
- 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
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.
Software engineers, programmers, hardware engineers, students / advanced students
Table of Contents
- Introduction to Parallel Programming
- Introduction to OpenCL
- OpenCL Device Architectures
- Basic OpenCL Examples
- Understanding OpenCL’s Concurrency and Execution Model
- Dissecting a CPU/GPU OpenCL Implementation
- OpenCL Case Study: Convolution
- OpenCL Case Study: Video Processing
- OpenCL Case Study: Histogram
- OpenCL Case Study: Mixed Particle Simulation
- OpenCL Extensions
- OpenCL Profiling and Debugging