调用clEnqueueNDRangeKernel时出错CL_INVALID_PROGRAM_EXECUTABLE

时间:2013-08-05 14:24:47

标签: opencl

我已经构建了一个调用许多opencl内核的库。所有内核都通过以下内容:

-oclLoadProgSource
-clCreateProgramWithSource
-clBuildProgram
-clCreateKernel

问题是,当我使用clEnqueueNDRangeKernel启动其中一个内核时,出现以下错误:CL_INVALID_PROGRAM_EXECUTABLE

我知道:

  • 其他5个内核已成功启动。
  • 当我直接使用源代码(而不是通过库)时,我根本不会遇到这样的问题,一切正常。

1 个答案:

答案 0 :(得分:2)

您应该测试 clBuildProgram 返回的状态。如果失败,请使用 clGetProgramBuildInfo(...,CL_PROGRAM_BUILD_LOG,...)获取编译器诊断。