OpenCL同步问题
关于同步的问题。。。
当设定的global_item_size超过了GPU的最大item时
(比如: maxgroup=28,maxItemPerGrup = 255
而设定的global_item_size = { 3000, 3000}(处理一个图像))
此时运算模块只能一部分的一部分的计算。。。
于是发现
work_group_barrier(CLK_LOCAL_MEM_FENCE);
work_group_barrier(CLK_GLOBAL_MEM_FENCE);
也无法完成整个图像处理的同步。。
请教下各位朋友,有没有什么办法实现同步?
我的目的是处理一个3000*3000的图像
处理完了后存入一个3000*3000的中间缓存
就是这里需要同步,保证中间缓存的数据全部完成更新
再将缓存中的数据做一次处理(依然是3000*3000的维度)后,输出。
在实际测试中,暂时找不到什么办法能实现这样的同步?
(PS:我不想用pipe,那种方法不适合我的情况,如果有办法实现同步,我的项目后期会大量使用。)