我已经在OpenCL中设置了卷积内核,以对权重为11x11x3x96的228x228x3图像进行卷积,以生成55x55x96的滤镜。
我没有分配localWorkSize的代码可以很好地工作,但是当我分配它时,我开始出现错误
因此,我的问题是
1)当我将localWorkSize设置为NULL时,正在启动多少个线程?我猜它是隐式的,但是有什么方法可以得到这些数字吗?
2)我应该如何分配localWorkSize以避免错误?
//When localWorkSize is NULL
size_t globalWorkSize[3] = {55,55,96};
//Passing NULL for localWorkSize argument
errNum = clEnqueueNDRangeKernel(command_queue, kernel,3,NULL,globalWorkSize, NULL,0, NULL,&event);
//WORKS PERFECTLY
// When I set localWorkSize
size_t globalWorkSize[3] = {55,55,96};
size_t localWorkSize[3] = {1,1,1};
errNum = clEnqueueNDRangeKernel(command_queue, kernel,3,NULL,globalWorkSize, localWorkSize,0, NULL,&event);
//ERROR CONTEXT CODE 999
我只是想了解当localWorkSize为Null并且描述了GlobalWorkSize时创建了多少个线程