调试 – OpenCL中错误代码的perror()等价物是什么?

如果我有类似的东西:

err = clEnqueueReadBuffer(cmdQueue, output, CL_TRUE, 0, sizeof(float) * data_sz, &results, 0, NULL, NULL);

我想这样做:

if (err != CL_SUCCESS){
    perror("Read Failed!");
}

但是像(CL_HOST_OUT_OF_MEMORY)之类的错误常数(可以理解)是perror()所不知道的.

我可以去看看与opencl相关的.h文件,但这不是一个理想的解决方案.我对任何其他方便的跟踪错误号码的方式持开放态度.我在OSX雪豹(包括以防万一,但我不认为这是相关的)

最佳答案 如果你有NVIDIA OpenCL SDK,那么你可以使用oclUtils提供的oclErrorString()函数.

点赞