如何在OpenCL

时间:2019-04-26 06:41:21

标签: opencl opencl-c

我已经在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时创建了多少个线程

0 个答案:

没有答案