This is just a small notebook.
单开一个用来记录OpenCL中的一些小知识吧。看到随手记一下,逐渐增加,挺好。
1.关于__local内核参数
__local内核参数存储在本地内存中,一般很小,32KB~64KB。在运行时可以通过只有大小而无参数的clSetKernelArg函数设定。
__kernel void aKernel()
{
__local float sharedData[32];
}
上述的sharedData类似于__local参数,但是比参数少了一些灵活性,因为必须要确定大小,而参数可以在每次调度时设置不同的大小。
同时需要注意的是,带有本地内存的内核其状态信息和使用的本地内存是临时的,如果需要保存计算结果,必须将结果回传到全局内存。