工作需要学习OpenCL, 网上学习OpenCL的资料并不多,因为可能会长期使用这个框架,所以将学习过程记录下来。到目前为止学习了差不多三四个星期,也只是根据自己有限的知识和理解对其进行说明,有错误或者理解不到位的地方,希望大神指出。
预备知识
OpenCL是异构编程框架,初学者可能对很多概念存在疑惑,我根据我在学习过程中存在疑惑的问题,分别对相关名词和概念进行说明,方便后面继续学习。
另外,本博客的OpenCL文章都是针对GPU 异构计算进行说明的,所以会侧重于GPU编程方向解释,别的设备有涉猎以后再补充。
异构计算
则是维基百科上的解释:Heterogenous Computing refers to systems that use more than one kond of processor or cores.These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar corprocessors, usually incoporting specialized processing capabilities to handle patticular tasks.
通俗地来说,异构计算是指多种处理器或核的设备,这些核可以是同一种类型也可以是不同类型,如下图所示:
OpenCL
Ope