首页 文章

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

提问于
浏览
2

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

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

errNum = clEnqueueNDRangeKernel(commandQueue, kernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);

此调用返回值-1000 .

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

有关此错误的任何想法?


如果相关,我正在使用Nvidia NVS 4200M gpu .

2 回答

  • 0

    我'm not entirely sure, but it is possible that you are seeing a (negative?) CUDA_ERROR_UNKNOWN (used to be 999, but may have been bumped up to 1000) from the underlying CUDA libraries that nvidia'的OpenCL实现捎带在上面 . 我之前看到弹出CUDA_ERROR_INVALID_VALUE错误(在我的ErrorCode枚举中的第一个值看here),这就是我怀疑这一点的原因 .

  • 0

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

    #define CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR  -1000
    

相关问题