OpenCL错误码和说明
2021年11月1日17:39:30:
增加:错误码为-11时,除了语法错误,还有可能是OPENCL不支持数据的扩展精度,导致错误。如ARM的某些GPU上就禁用了fp64位,此时使用double会报-11的错误。
#define CL_SUCCESS 0
命令成功执行,没有出现错误
#define CL_DEVICE_NOT_FOUND -1
未发现与条件匹配的OpenCL设备
#define CL_DEVICE_NOT_AVAILABLE -2
OpenCL设备目前不可用
#define CL_COMPILER_NOT_AVAILABLE -3
程序由源代码创建,不过没有可用的OpenCL C编译器
#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4
无法为内存对象或图像对象分配内存
#define CL_OUT_OF_RESOURCES -5
没有足够的资源执行命令
#define CL_OUT_OF_HOST_MEMORY -6
宿主机上没有足够的内存执行命令
#define CL_PROFILING_INFO_NOT_AVAILABLE -7
无法得到事件的性能评测信息或者命令队列不支持性能评测
#define CL_MEM_COPY_OVERLAP -8
两个缓冲区在同一个内存区域重叠
#define CL_IMAGE_FORMAT_MISMATCH -9
图像未采用相同的图像格式
#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10
不支持指定的图像格式
#define CL_BUILD_PROGRAM_FAILURE -11
无法为程序构建可执行代码(此处纠错需要查看源码语法)
#define CL_MAP_FAILURE -12
内存区域无法映射到宿主机内存
#define CL_MISALIGNED_SUB_BUFFER_OFFSET -13
#define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14
#define CL_COMPILE_PROGRAM_FAILURE -15
#define CL_LINKER_NOT_AVAILABLE -16
#define CL_LINK_PROGRAM_FAILURE -17
#define CL_DEVICE_PARTITION_FAILED -18
#define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19
#define CL_INVALID_VALUE -30
命令的一个或多个参数指定了非法值
#define CL_INVALID_DEVICE_TYPE -31
传入的设备类型不是合法值
#define CL_INVALID_PLATFORM -32
传入的平台不是合法值
#define CL_INVALID_DEVICE -33
传入的设备不是合法值
#define CL_INVALID_CONTEXT -34
传入的上下文不是合法值
#define CL_INVALID_QUEUE_PROPERTIES -35
设备不支持命令队列属性
#define CL_INVALID_COMMAND_QUEUE -36
传入的命令队列不是合法值
#define CL_INVALID_HOST_PTR -37
宿主机指针不合法
#define CL_INVALID_MEM_OBJECT -38
传入的内存对象不是合法值
#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39
传入的图像格式描述符不是合法值
#define CL_INVALID_IMAGE_SIZE -40
设备不支持这个图像大小
#define CL_INVALID_SAMPLER -41
传入的采样工具不是合法值
#define CL_INVALID_BINARY -42
传入了非法的二进制程序
#define CL_INVALID_BUILD_OPTIONS -43
一个或多个构建选项不合法
#define CL_INVALID_PROGRAM -44
传入的程序不是合法值
#define CL_INVALID_PROGRAM_EXECUTABLE -45
程序未能成功地构建命令队列关联设备上的一个可执行程序
#define CL_INVALID_KERNEL_NAME -46
程序中不存在指定的内核
#define CL_INVALID_KERNEL_DEFINITION -47
程序源代码中定义的内核不合法
#define CL_INVALID_KERNEL -48
传入的内核不是合法值
#define CL_INVALID_ARG_INDEX -49
参数索引指示的参数对于内核不合法
#define CL_INVALID_ARG_VALUE -50
对于一个非局部参数,内核参数值为NULL;或者对于一个局部参数,内核参数值为非NULL
#define CL_INVALID_ARG_SIZE -51
参数大小与内核参数不一致
#define CL_INVALID_KERNEL_ARGS -52
一个或多个内核参数未赋值
#define CL_INVALID_WORK_DIMENSION -53
工作维度值不是介于1~3的一个值
#define CL_INVALID_WORK_GROUP_SIZE -54
局部或全局工作组大小不合法
#define CL_INVALID_WORK_ITEM_SIZE -55
一个或多个工作项大小超出了设备支持的最大大小
#define CL_INVALID_GLOBAL_OFFSET -56
全局偏移量超出了所支持的界限
#define CL_INVALID_EVENT_WAIT_LIST -57
提供的等待列表大小不合法或者其中包含非事件
#define CL_INVALID_EVENT -58
传入的事件不是一个合法值
#define CL_INVALID_OPERATION -59
执行命令导致出现一个不合法的操作
#define CL_INVALID_GL_OBJECT -60
OpenGL引用的对象存在问题
#define CL_INVALID_BUFFER_SIZE -61
指定的缓冲区大小越界
#define CL_INVALID_MIP_LEVEL -62
为OpenGL纹理指定的mipmap级别对于OpenGL对象不合法
#define CL_INVALID_GLOBAL_WORK_SIZE -63
传入的全局工作大小不合法,可能为0或者超出了设备支持的大小
#define CL_INVALID_PROPERTY -64
#define CL_INVALID_IMAGE_DESCRIPTOR -65
#define CL_INVALID_COMPILER_OPTIONS -66
#define CL_INVALID_LINKER_OPTIONS -67
#define CL_INVALID_DEVICE_PARTITION_COUNT -68
非原创,记录一下,方便自己方便他人。
转载:http://lheric.blog.163.com/blog/static/116596731201111405043872/
http://book.2cto.com/201211/9883.html
转载于:https://www.cnblogs.com/vlaerlina/p/3578626.html
转载于:
https://blog.csdn.net/heiheiya/article/details/81223291