Я использую opencl и при попытке запустить мое ядро выдается исключение:
what(): clEnqueueNDRangeKernel
err(): -1000
Функция уведомления дает:
Unknown error executing CL_COMMAND_NDRANGE_KERNEL on GeForce GTX 560 (Device 0).
Я столкнулся с этой ошибкой несколько месяцев назад и опубликовал ее вместе с решением на форумах NVidia (чтобы найти его при поиске), но, к сожалению, форумы сейчас отключены, и я забыл решение. Поэтому, если вы знаете источник ошибки (или можете каким-то образом получить ее на форумах NVidia), пожалуйста, опубликуйте ее здесь.
Наконец я вспомнил источник проблемы:
Ядро, которое clEnqueueNDRangeKernel
сбой включен, имеет буферы в качестве аргументов, которые совместно используются OpenCL и OpenGL. Я просто забыл clEnqueueAcquireGLObjects
некоторые из этих буферов.
Немного разочаровывает, что ошибка не является более конкретной в отношении проблемы (например, говоря: «Доступ к неприобретенному буферу OpenGL!»).
Других решений пока нет …