ubuntu16.04 + eclipse + opencl + cuda; 我可以在Terminal中运行我的项目,一切正常,但是我需要更改代码并调试我的代码,因此我在eclipse中构建项目没有任何错误,但是当我调试或运行我的代码时,控制台显示以下错误:< / p>
Unable to open ../assets/cvc.cl. ../../src/oclUtil.cpp:445
Failed to create OpenCL program.../../src/CVC_cl.cpp:25
OpenCL error: CL_INVALID_PROGRAM
Failed to create OpenCL kernel. ../../src/CVC_cl.cpp:77
我的代码还可以,我可以在终端中运行。我不知道为什么,请帮助我。谢谢!
答案 0 :(得分:0)
在构建文件时使用更多错误检查。
// Build the program
ret = clBuildProgram(program, 1, &deviceId, NULL, NULL, NULL); RC_TEST2(ret, "clBuildProgram");
if(ret != CL_SUCCESS){
size_t len = 0;
clGetProgramBuildInfo(program, deviceId, CL_PROGRAM_BUILD_LOG, 0, NULL, &len);
char *buffer = calloc(len, sizeof(char));
ret = clGetProgramBuildInfo(program, deviceId, CL_PROGRAM_BUILD_LOG, len, buffer, NULL);
fprintf(stderr, "%s", buffer);
exit(1);
}
但是在您的情况下,很明显cl文件的路径是错误的。因此编译器无法构建内核。相对路径出了点问题。如果您无法解决此问题,请尝试使用绝对路径。