OpenCL (Open Computing Language,开放计算机语言)是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。OpenCL由一门用于编写kernel函数(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分区和数据分区的并行计算机制。
OpenCL类似与另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩充了GPU图形生成之外的能力,OpenCL由非盈利性技术组织khronos Group掌管。
由于CPU本身适合做逻辑运算,而GPU则适合做“简单暴力运算”,所以自然想到利用GPU来进行运算功能,而让CPU主要进行逻辑运算,这个思想最早由NVIDIA公司提出来。
现在各种CPU,