openCL clEnqueueNDRangeKernel失败;不返回列出的错误类型

时间:2012-07-17 14:57:31

标签: opencl

我的应用程序是在openCL内核中进行图像处理,并将输出写入openGL纹理以供显示。

我正在创建上下文,命令队列,编译程序以及创建内核,采样器和2D图像对象而不会出错。在我尝试将内核排队执行之前,一切都运行良好,没有报告错误:

errNum = clEnqueueNDRangeKernel(commandQueue, kernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);

此调用返回值-1000。

根据clEnqueueNDRangeKernel的在线manpage,有几个值可以设置为errNum(在cl.h头文件中定义)。这些值都不匹配-1000。

有关此错误的任何想法?


我正在使用Nvidia NVS 4200M gpu,如果这是相关的。

2 个答案:

答案 0 :(得分:0)

我不完全确定,但是你可能会从基础CUDA库中看到(负面?)CUDA_ERROR_UNKNOWN(曾经是999,但可能已经被提升到1000)nvidia的OpenCL实现回到顶部。我之前看到弹出CUDA_ERROR_INVALID_VALUE错误(在我的ErrorCode枚举中的第一个值看here),这就是为什么我怀疑这个。

答案 1 :(得分:0)

我假设您正在使用cl gl interop? 见cl_gl.h:

#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR  -1000