Tôi đã làm việc một chút trong OpenCL bây giờ nhưng gần đây "clBuildProgram" không thành công trong một chương trình của tôi. Đoạn mã của tôi là dưới đây:clBuildProgram không thành công với mã lỗi -11 và không có nhật ký dựng
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);
}
Thông thường trước đó tôi đã cú pháp hoặc các lỗi khác trong tập tin kernel ở đây với sự giúp đỡ của "clGetProgramBuildInfo()" chức năng bất cứ khi nào "clBuildProgram" Không nhưng khi chương trình này chạy trên giao diện điều khiển nó chỉ in:
Chương trình xây dựng thất bại --- Xây dựng log ---
Và khi tôi đã cố gắng để in các mã lỗi trả về bởi "clBuildProgram"; nó là "-11" ...... Điều gì có thể là vấn đề với tập tin hạt nhân của tôi mà tôi không nhận được bất kỳ thông tin xây dựng thất bại?