若想学习opencl,首先对opencl的api及其用法要相当熟悉,之后编写、调试代码可以使用visual studio,方便快捷,可视化强。
如下为如果使用vs中opencl的code builder工具的说明,首推intel官网上的开发向导,介绍的全又详细:
https://software.intel.com/en-us/node/539282
https://software.intel.com/en-us/node/539284
OpenCL api英文版说明:
https://download.csdn.net/download/qccz123456/10567734
OpenCL48_CN编程规范:
https://download.csdn.net/download/qccz123456/10567728
(1)若在kernel中使用barrier(CLK_LOCAL_MEM_FENCE);,则每一个work item都需要执行到barrier函数,否则gpu会卡死。
(2)kernel的连续执行会减少submit的时间,否则几乎都是submit在占时:
kernel运行中有printf输出时kernel的执行时间:
(3)global_size是原始类型,原数据大小的个数,或float4就是个数/4。Local size和work group的关系?