2

我正在使用 opencl 并且在尝试执行我的内核时抛出异常:

what(): clEnqueueNDRangeKernel 
 err(): -1000

通知功能给出:

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

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

4

1 回答 1

4

终于想起了问题的根源:

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

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

于 2012-10-19T14:12:42.613 回答