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

openCL ClenqueEndRangeKernel失败;不返回列出的错误类型,opencl,Opencl,我的应用程序在openCL内核中进行图像处理,并将输出写入openGL纹理以供显示 我正在创建上下文、命令队列、编译程序以及创建内核、采样器和2D图像对象,没有错误。在我尝试将内核排队等待执行之前,一切都正常运行,没有报告错误: errNum = clEnqueueNDRangeKernel(commandQueue, kernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL); 此调用返回值-1000 根据在线for Clen

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

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

errNum = clEnqueueNDRangeKernel(commandQueue, kernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
此调用返回值-1000

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

对这个错误有什么想法吗



如果相关的话,我运行的是Nvidia NVS 4200M gpu。

我不完全确定,但您可能看到Nvidia的OpenCL实现所依赖的底层CUDA库中出现了未知的(负面?)CUDA_错误(以前是999,但可能已经升级到1000)。我以前看到过一个CUDA_错误\u无效\u值错误弹出(查看我的错误代码枚举中的第一个值),这就是我怀疑这一点的原因。

我不完全确定,但您可能看到一个(负?)CUDA_错误\u未知(以前是999,但可能已增加到1000)nvidia的OpenCL实现借助于底层的CUDA库。我以前看到过一个CUDA\u错误\u无效值错误弹出(查看我的错误代码枚举中的第一个值),这就是我怀疑这一点的原因。

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

#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR  -1000

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

#define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR  -1000

我假设errNum是cl_int类型?全球和本地工作组的规模是多少?平台?选择OpenCL SDK?@杰姆斯:听起来他正在使用GPU设备使用英伟达OpenCL实现。milky_joe,你也可以发布内核吗?@James我在一个装有Nvidia NVS 4200M gpu芯片的Windows机器上运行。我也在运行Nvidia的openCL sdk。@TimChild是的,errNum是cl_int。全局和本地工作组大小的类型是size_t[2]我假设errNum是cl_int类型?全球和本地工作组的规模是多少?平台?选择OpenCL SDK?@杰姆斯:听起来他正在使用GPU设备使用英伟达OpenCL实现。milky_joe,你也可以发布内核吗?@James我在一个装有Nvidia NVS 4200M gpu芯片的Windows机器上运行。我也在运行Nvidia的openCL sdk。@TimChild是的,errNum是cl_int。全局和本地工作组大小的类型为size_t[2]