Elsevier · Kaeli, Mistry, Dana, Zhang: Heterogeneous Computing with OpenCL 2.0 · About this Book

About this Book

Heterogeneous Computing with OpenCL 2.0 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). This fully-revised edition includes the latest enhancements in OpenCL 2.0 including:

  • Shared virtual memory to increase programming flexibility and reduce data transfers that consume resources
  • Dynamic parallelism which reduces processor load and avoids bottlenecks
  • Improved imaging support and integration with OpenGL
  • Pipe memory which can be optimized for producer/consumer communication

Key features include:

  • Updated content to cover the latest developments in OpenCL 2.0, including improvements in memory handling, parallelism, and imaging support
  • Explanations of principles and strategies to learn parallel programming with OpenCL, from understanding the abstraction models to thoroughly testing and debugging complete applications
  • Example code covering image analytics, web plugins, particle simulations, video editing, performance optimization, and more
  • Multiple examples and case studies that demonstrate a range of fundamental programming techniques on current system architectures

Designed to work on multiple platforms, OpenCL will help you more effectively program for a heterogeneous future. Written by leaders in the parallel computing and OpenCL communities, this book explores memory spaces, optimization techniques, extensions, debugging and profiling. Multiple case studies and examples illustrate high-performance algorithms, distributing work across heterogeneous systems, embedded domain-specific languages, and will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms.