OpenCL:提前知道本地工作组的大小?
OpenCL: know local work group size in advance?
我正在努力优化可分离的图像缩小器。我的下一步是通过将所有必要的纹素读入本地内存来减少同一纹素的多次采样(最近)。乐趣从这里开始...
缩小器用途广泛,因此它可以将任何较大的东西缩小为较小的东西,甚至可以截取图像的一部分并将其缩小为目标图像。因此,最终分辨率分频器永远不会是整数。大多数时候它会在 3.97 左右左右。这意味着:我不知道编译时该本地数组所需的大小。
对我来说这意味着:在对任务进行排队之前,我必须创建一个所需大小的本地内存对象。
我如何知道 OpenCL 的工作组大小 select?
如果没有办法,有没有"best practice"克服这个问题的?
P.S.: 我正在为 OpenCL 1.1 兼容性而写。
由于您使用的是图像,因此可以依赖纹理缓存而不是使用共享本地内存。
我正在努力优化可分离的图像缩小器。我的下一步是通过将所有必要的纹素读入本地内存来减少同一纹素的多次采样(最近)。乐趣从这里开始...
缩小器用途广泛,因此它可以将任何较大的东西缩小为较小的东西,甚至可以截取图像的一部分并将其缩小为目标图像。因此,最终分辨率分频器永远不会是整数。大多数时候它会在 3.97 左右左右。这意味着:我不知道编译时该本地数组所需的大小。
对我来说这意味着:在对任务进行排队之前,我必须创建一个所需大小的本地内存对象。
我如何知道 OpenCL 的工作组大小 select?
如果没有办法,有没有"best practice"克服这个问题的?
P.S.: 我正在为 OpenCL 1.1 兼容性而写。
由于您使用的是图像,因此可以依赖纹理缓存而不是使用共享本地内存。