2

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

-oclLoadProgSource
-clCreateProgramWithSource
-clBuildProgram
-clCreateKernel

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

我知道:

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

1 回答 1

2

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

于 2013-08-05T19:47:35.973 回答