如果我有类似的东西:
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()函数.