opencl错误码

1、OpenCL错误码和说明
2021年11月1日17:39:30:
增加:错误码为-11时,除了语法错误,还有可能是OPENCL不支持数据的扩展精度,导致错误。如ARM的某些GPU上就禁用了fp64位,此时使用double会报-11的错误。

 

  1 #define CL_SUCCESS                                  0
  2     命令成功执行,没有出现错误
  3 #define CL_DEVICE_NOT_FOUND                         -1
  4     未发现与条件匹配的OpenCL设备
  5 #define CL_DEVICE_NOT_AVAILABLE                     -2
  6     OpenCL设备目前不可用
  7 #define CL_COMPILER_NOT_AVAILABLE                   -3
  8     程序由源代码创建,不过没有可用的OpenCL C编译器
  9 #define CL_MEM_OBJECT_ALLOCATION_FAILURE            -4
 10     无法为内存对象或图像对象分配内存
 11 #define CL_OUT_OF_RESOURCES                         -5
 12     没有足够的资源执行命令
 13 #define CL_OUT_OF_HOST_MEMORY                       -6
 14     宿主机上没有足够的内存执行命令
 15 #define CL_PROFILING_INFO_NOT_AVAILABLE             -7
 16     无法得到事件的性能评测信息或者命令队列不支持性能评测
 17 #define CL_MEM_COPY_OVERLAP                         -8
 18     两个缓冲区在同一个内存区域重叠
 19 #define CL_IMAGE_FORMAT_MISMATCH                    -9
 20     图像未采用相同的图像格式
 21 #define CL_IMAGE_FORMAT_NOT_SUPPORTED               -10
 22     不支持指定的图像格式
 23 #define CL_BUILD_PROGRAM_FAILURE                    -11
 24     无法为程序构建可执行代码(此处纠错需要查看源码语法)
 25 #define CL_MAP_FAILURE                              -12
 26     内存区域无法映射到宿主机内存
 27 #define CL_MISALIGNED_SUB_BUFFER_OFFSET             -13
 28 #define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14
 29 #define CL_COMPILE_PROGRAM_FAILURE                  -15
 30 #define CL_LINKER_NOT_AVAILABLE                     -16
 31 #define CL_LINK_PROGRAM_FAILURE                     -17
 32 #define CL_DEVICE_PARTITION_FAILED                  -18
 33 #define CL_KERNEL_ARG_INFO_NOT_AVAILABLE            -19
 34 #define CL_INVALID_VALUE                            -30
 35     命令的一个或多个参数指定了非法值
 36 #define CL_INVALID_DEVICE_TYPE                      -31
 37     传入的设备类型不是合法值
 38 #define CL_INVALID_PLATFORM                         -32
 39     传入的平台不是合法值
 40 #define CL_INVALID_DEVICE                           -33
 41     传入的设备不是合法值
 42 #define CL_INVALID_CONTEXT                          -34
 43     传入的上下文不是合法值
 44 #define CL_INVALID_QUEUE_PROPERTIES                 -35
 45     设备不支持命令队列属性
 46 #define CL_INVALID_COMMAND_QUEUE                    -36
 47     传入的命令队列不是合法值
 48 #define CL_INVALID_HOST_PTR                         -37
 49     宿主机指针不合法
 50 #define CL_INVALID_MEM_OBJECT                       -38
 51     传入的内存对象不是合法值
 52 #define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR          -39
 53     传入的图像格式描述符不是合法值
 54 #define CL_INVALID_IMAGE_SIZE                       -40
 55     设备不支持这个图像大小
 56 #define CL_INVALID_SAMPLER                          -41
 57     传入的采样工具不是合法值
 58 #define CL_INVALID_BINARY                           -42
 59     传入了非法的二进制程序
 60 #define CL_INVALID_BUILD_OPTIONS                    -43
 61     一个或多个构建选项不合法
 62 #define CL_INVALID_PROGRAM                          -44
 63     传入的程序不是合法值
 64 #define CL_INVALID_PROGRAM_EXECUTABLE               -45
 65     程序未能成功地构建命令队列关联设备上的一个可执行程序
 66 #define CL_INVALID_KERNEL_NAME                      -46
 67     程序中不存在指定的内核
 68 #define CL_INVALID_KERNEL_DEFINITION                -47
 69     程序源代码中定义的内核不合法
 70 #define CL_INVALID_KERNEL                           -48
 71     传入的内核不是合法值
 72 #define CL_INVALID_ARG_INDEX                        -49
 73     参数索引指示的参数对于内核不合法
 74 #define CL_INVALID_ARG_VALUE                        -50
 75     对于一个非局部参数,内核参数值为NULL;或者对于一个局部参数,内核参数值为非NULL
 76 #define CL_INVALID_ARG_SIZE                         -51
 77     参数大小与内核参数不一致
 78 #define CL_INVALID_KERNEL_ARGS                      -52
 79     一个或多个内核参数未赋值
 80 #define CL_INVALID_WORK_DIMENSION                   -53
 81     工作维度值不是介于1~3的一个值
 82 #define CL_INVALID_WORK_GROUP_SIZE                  -54
 83     局部或全局工作组大小不合法
 84 #define CL_INVALID_WORK_ITEM_SIZE                   -55
 85     一个或多个工作项大小超出了设备支持的最大大小
 86 #define CL_INVALID_GLOBAL_OFFSET                    -56
 87     全局偏移量超出了所支持的界限
 88 #define CL_INVALID_EVENT_WAIT_LIST                  -57
 89     提供的等待列表大小不合法或者其中包含非事件
 90 #define CL_INVALID_EVENT                            -58
 91     传入的事件不是一个合法值
 92 #define CL_INVALID_OPERATION                        -59
 93     执行命令导致出现一个不合法的操作
 94 #define CL_INVALID_GL_OBJECT                        -60
 95     OpenGL引用的对象存在问题
 96 #define CL_INVALID_BUFFER_SIZE                      -61
 97     指定的缓冲区大小越界
 98 #define CL_INVALID_MIP_LEVEL                        -62
 99     为OpenGL纹理指定的mipmap级别对于OpenGL对象不合法
100 #define CL_INVALID_GLOBAL_WORK_SIZE                 -63
101     传入的全局工作大小不合法,可能为0或者超出了设备支持的大小
102 #define CL_INVALID_PROPERTY                         -64
103 #define CL_INVALID_IMAGE_DESCRIPTOR                 -65
104 #define CL_INVALID_COMPILER_OPTIONS                 -66
105 #define CL_INVALID_LINKER_OPTIONS                   -67
106 #define CL_INVALID_DEVICE_PARTITION_COUNT           -68
View Code

转自:https://blog.csdn.net/weixin_42702728/article/details/118576774

posted @ 2022-12-17 14:18  墨尔基阿德斯  阅读(81)  评论(0编辑  收藏  举报