我是Visual Studio的新手,我正在用它来编写一个使用OpenCL的简单并行排序程序。 当我运行它时,我在输出之前得到一行(即从我收到并打印结果缓冲区之前)说" 5生成的错误。"。 我假设这告诉我,我的内核文件中有错误,如果我故意在我的内核文件中写入错误,那么数字就会增加。
我真的很想知道这些错误是什么,所以我可以纠正我的程序。由于不熟悉VS,我无法在任何地方找到它们。 有谁知道我在哪里可以找到正在生成的错误。 感谢
答案 0 :(得分:2)
您需要调用clGetProgramBuidlInfo请求CL_PROGRAM_BUILD_LOG以获取编译器的运行时错误。
char result[4096];
size_t size;
clGetProgramBuildInfo( program, device, CL_PROGRAM_BUILD_LOG, sizeof(result), result, &size);
printf("%s\n", result);