OpenCL错误码转字符串(以中文表示)
错误代码位:0 ~ -19、-30 ~ -68
const char* errorCodeToString(cl_int errCode) {
const char* err = NULL;
switch (errCode) {
case CL_SUCCESS:
err = "CL_SUCCESS:命令成功执行,没有出现错误!";
break;
case CL_DEVICE_NOT_FOUND:
err = "CL_DEVICE_NOT_FOUND:未发现与条件匹配的OpenCL设备!";
break;
case CL_DEVICE_NOT_AVAILABLE:
err = "CL_DEVICE_NOT_AVAILABLE:OpenCL设备目前不可用!";
break;
case CL_COMPILER_NOT_AVAILABLE:
err = "CL_COMPILER_NOT_AVAILABLE:程序由源代码创建,不过没有可用的OpenCL C编译器!";
break;
case CL_MEM_OBJECT_ALLOCATION_FAILURE:
err = "CL_MEM_OBJECT_ALLOCATION_FAILURE:无法为内存对象或图像对象分配内存!";
break;
case CL_OUT_OF_RESOURCES:
err = "CL_OUT_OF_RESOURCES:没有足够的资源执行命令!";
break;
case CL_OUT_OF_HOST_MEMORY:
err = "CL_OUT_OF_HOST_MEMORY:宿主机上没有足够的内存执行命令!";
break;
case CL_PROFILING_INFO_NOT_AVAILABLE:
err = "CL_PROFILING_INFO_NOT_AVAILABLE:无法得到事件的性能评测信息或者命令队列不支持性能评测!";
break;
case CL_MEM_COPY_OVERLAP:
err = "CL_MEM_COPY_OVERLAP:两个缓冲区在同一个内存区域重叠!";
break;
case CL_IMAGE_FORMAT_MISMATCH:
err = "CL_IMAGE_FORMAT_MISMATCH:图像未采用相同的图像格式!";
break;