我正在使用opencl,当尝试执行我的内核时会抛出异常:
what(): clEnqueueNDRangeKernel
err(): -1000
通知功能给出:
Unknown error executing CL_COMMAND_NDRANGE_KERNEL on GeForce GTX 560 (Device 0).
几个月前我遇到了这个错误并将其与NVidia论坛中的解决方案一起发布(在搜索时找到它),但遗憾的是论坛现在被取消了,我忘记了解决方案。因此,如果您知道错误的来源(或者可以以某种方式从NVidia论坛获取),请在此处发布。
答案 0 :(得分:4)
最后我想起了问题的根源:
clEnqueueNDRangeKernel
失败的内核,缓冲区作为在OpenCL和OpenGL之间共享的参数。我忘了clEnqueueAcquireGLObjects
其中一些缓冲区。
有点令人失望的是错误并没有更具体的问题(比如说:“访问一个未获得的OpenGL缓冲区!”)。