执行CL_COMMAND_NDRANGE_KERNEL的未知错误(-1000)

时间:2012-10-19 13:52:06

标签: c++ opencl nvidia

我正在使用opencl,当尝试执行我的内核时会抛出异常:

what(): clEnqueueNDRangeKernel 
 err(): -1000

通知功能给出:

Unknown error executing CL_COMMAND_NDRANGE_KERNEL on GeForce GTX 560 (Device 0).

几个月前我遇到了这个错误并将其与NVidia论坛中的解决方案一起发布(在搜索时找到它),但遗憾的是论坛现在被取消了,我忘记了解决方案。因此,如果您知道错误的来源(或者可以以某种方式从NVidia论坛获取),请在此处发布。

1 个答案:

答案 0 :(得分:4)

最后我想起了问题的根源:

clEnqueueNDRangeKernel失败的内核,缓冲区作为在OpenCL和OpenGL之间共享的参数。我忘了clEnqueueAcquireGLObjects其中一些缓冲区。

有点令人失望的是错误并没有更具体的问题(比如说:“访问一个未获得的OpenGL缓冲区!”)。