我的OpenCL内核没有构建,clBuildProgram返回-11。但是,当我尝试使用
读取构建日志时//get build log
size_t len;
char *buffer;
clStatus = clGetProgramBuildInfo(program, device_list[0], CL_PROGRAM_BUILD_LOG, 0, NULL, &len);
buffer = (char *)malloc(len);
clStatus = clGetProgramBuildInfo(program, device_list[0], CL_PROGRAM_BUILD_LOG, len, buffer, NULL);
fprintf(stdout, "Kernel build log: %s\n", query_buffer);
free(buffer);
我得到的所有输出都是
Kernel build log: OpenCL 1.2
现在我已经将我的内核代码复制粘贴到一个单独的c程序中进行编译,尝试以这种方式查找编译错误,但不用说这很乏味:P有谁知道发生了什么?
Fafner
答案 0 :(得分:0)
好的,这只是一个错字,打印正确的缓冲区解决了这个问题。