异构平台
CPU+GPU+其他处理器
什么是OpenCL?
OpenCL是面向由CPU、GPU和其他处理器组合构成的计算机进行编程的行业标准框架。
面向异构平台的应用步骤:
1.发现构成异构系统的组件
2.探查这些组件的特征,使软件能够适应不同硬件单元的特定特性。
3.创建将在平台上运行的指令块(内核)
4.建立并管理计算中涉及的内存对象。
5.在系统中正确的组件上按正确的顺序执行内核。
6.收集最终结果。
问题分解:
- 平台模型
- 执行模型
- 内存模型
- 编程模型
OpenCL平台模型包括一个宿主机以及一个或多个OpenCL设备。各个OpenCL设备有一个或多个计算单元,其中各个计算单元包括一个或多个处理单元。
OpenCL设备通常称为计算设备(compute device)。设备可以是CPU、GPU、DSP或OpenCL支持的任何其他处理器。
OpenCL执行模型