我是 Visual Studio 的新手,我正在使用它使用 OpenCL 编写一个简单的并行排序程序。 当我运行它时,我在输出前得到一行(即在我接收和打印结果缓冲区之前)说“5 Errors Generated.”。 我假设这告诉我我的内核文件中有错误,如果我故意在我的内核文件中写入错误,错误数量会增加。
我真的很想知道这些错误是什么,以便我可以更正我的程序。由于不熟悉 VS,我根本无法在任何地方找到它们。 有谁知道我在哪里可以找到正在生成的错误。 谢谢
最佳答案
您需要调用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);
关于windows - 运行时 OpenCL 内核代码中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44354965/