OpenCL Programming by Example
上QQ阅读APP看书,第一时间看更新

Chapter 2. OpenCL Architecture

Heterogeneous computing is all about exploiting computing resources in a platform to maximize performance. Many developers have begun to realize that heterogeneous multi-core computer systems can provide significant performance opportunities to a range of applications. OpenCL specification targets expert programmers who want to run their code on various heterogeneous platforms. Unlike NVIDIA® CUDA framework, which is capable of running only on NVIDIA devices, library writers can provide acceleration on any parallel hardware device using OpenCL. Thus OpenCL provides a low-level hardware abstraction and a programming model to support a variety of hardware architectures.

OpenCL describes a hierarchy of models to describe the OpenCL programming framework:

  • Platform model
  • Memory model
  • Execution model
  • Programming model