Hello Everyone ....
我是新来的opencl并试图探索更多@它。local_work_size对性能的影响以及为什么它是
openCL程序中local_work_size的工作方式以及它在性能方面的重要性。
我工作的一些图像处理算法中和我的OpenCL内核,我给 作为
size_t local_item_size = 1;
size_t global_item_size = (int) (ceil((float)(D_can_width*D_can_height)/local_item_size))*local_item_size; // Process the entire lists
ret = clEnqueueNDRangeKernel(command_queue, kernel, 1, NULL,&global_item_size, &local_item_size, 0, NULL, NULL);
和相同的内核,当我改变
size_t local_item_size = 16;
藏在心里相同。
我的表现快了约4-5倍。
您可以将local_item_size设置为NULL;而OpenCL将为工作组选择“最佳”大小,但不考虑所使用的本地内存。 –