Heterogeneous Computing with OpenCL 2.0, Third Edition
- 4h 52m
- Dana Schaa, David Kaeli, Dong Ping Zhang, Perhaad Mistry
- Elsevier Science and Technology Books, Inc.
- 2015
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
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.
- 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
In this Book
-
Foreword
-
Introduction
-
Device Architectures
-
Introduction to OpenCL
-
Examples
-
OpenCL Runtime and Concurrency Model
-
OpenCL Host-Side Memory Model
-
OpenCL Device-Side Memory Model
-
Dissecting OpenCL on a Heterogeneous System
-
Case Study—Image Clustering
-
OpenCL Profiling and Debugging
-
Mapping High-Level Programming Languages to OpenCL 2.0—A Compiler Writer's Perspective
-
WebCL—Enabling OpenCL Acceleration of Web Applications
-
Foreign Lands—Plugging OpenCL in