我在OpenCL現在工作一點點,但最近「clBuildProgram」在我的程序之一失敗。我的代碼摘錄如下:clBuildProgram失敗,錯誤代碼-11和沒有生成日誌
cl_program program;
program = clCreateProgramWithSource(context, 1, (const char**) &kernel_string, NULL, &err);
if(err != CL_SUCCESS)
{
cout<<"Unable to create Program Object. Error code = "<<err<<endl;
exit(1);
}
if(clBuildProgram(program, 0, NULL, NULL, NULL, NULL) != CL_SUCCESS)
{
cout<<"Program Build failed\n";
size_t length;
char buffer[2048];
clGetProgramBuildInfo(program, device_id[0], CL_PROGRAM_BUILD_LOG, sizeof(buffer), buffer, &length);
cout<<"--- Build log ---\n "<<buffer<<endl;
exit(1);
}
通常早些時候我得到的語法或這裏內核文件的幫助下內其他錯誤「clGetProgramBuildInfo()」功能,每當「clBuildProgram」失敗,但這個程序運行時,控制檯上只打印:
計劃建立失效 ---生成日誌---
,當我試圖打印由「clBuildProgram」返回錯誤代碼;它是「-11」...... 什麼可以是我的內核文件的問題,我沒有得到任何生成失敗信息?