在哪里可以找到OpenCL(Nvidia)中错误代码的字符串?
在NVIDIAGPU上运行一个简单的OpenCL矩阵乘法代码,得到错误代码-30。我想知道这个代码是什么意思。我确信与此代码(int)对应的字符串必须存储在某个地方。有人能帮我解释一下这个代码吗?一旦我知道这个错误的意思,我就可以很容易地调试我的代码 从库中:在哪里可以找到OpenCL(Nvidia)中错误代码的字符串?,opencl,nvidia,Opencl,Nvidia,在NVIDIAGPU上运行一个简单的OpenCL矩阵乘法代码,得到错误代码-30。我想知道这个代码是什么意思。我确信与此代码(int)对应的字符串必须存储在某个地方。有人能帮我解释一下这个代码吗?一旦我知道这个错误的意思,我就可以很容易地调试我的代码 从库中: const char*clewErrorString(cl\u int错误) { 静态常量字符*字符串[]= { //错误代码 “CL_成功”//0 ,“未找到CL_设备”//-1 ,“CL_设备不可用”//-2 ,“CL_编译器不可用”
const char*clewErrorString(cl\u int错误)
{
静态常量字符*字符串[]=
{
//错误代码
“CL_成功”//0
,“未找到CL_设备”//-1
,“CL_设备不可用”//-2
,“CL_编译器不可用”//-3
,“CL_MEM_OBJECT_ALLOCATION_FAILURE”//-4
,“所有资源中的所有资源”//-5
,“CL_OUT_OF_HOST_MEMORY”//-6
,“CL_分析信息不可用”//-7
,“CL_MEM_COPY_OVERLAP”//-8
,“CL_图像_格式_不匹配”//-9
,“不支持CL_图像格式”//-10
,“CL_构建程序失败”//-11
,“CL\U映射图故障”//-12
, "" // -13
, "" // -14
, "" // -15
, "" // -16
, "" // -17
, "" // -18
, "" // -19
, "" // -20
, "" // -21
, "" // -22
, "" // -23
, "" // -24
, "" // -25
, "" // -26
, "" // -27
, "" // -28
, "" // -29
,“CL_无效_值”//-30
,“CL\U无效设备类型”//-31
,“CL_无效_平台”//-32
,“CL\U无效\U设备”//-33
,“上下文无效”//-34
,“CL\u无效队列\u属性”//-35
,“CL_无效命令_队列”//-36
,“CL\U无效\U主机\U PTR”//-37
,“CL_无效成员对象”//-38
,“CL\u无效\u图像\u格式\u描述符”//-39
,“CL\U无效图像大小”//-40
,“CL_无效采样器”//-41
,“CL\u无效\u二进制”//-42
,“CL_无效的构建选项”//-43
,“CL_程序无效”//-44
,“CL\u无效的程序\u可执行文件”//-45
,“CL\u无效\u内核\u名称”//-46
,“CL\u无效\u内核\u定义”//-47
,“CL\u无效\u内核”//-48
,“CL_无效参数索引”//-49
,“CL_无效参数值”//-50
,“CL_无效参数大小”//-51
,“CL\u无效的内核参数”//-52
,“CL_无效工作尺寸”//-53
,“CL\U无效工作组大小”//-54
,“CL\u无效\u工作项目\u尺寸”//-55
,“CL\U无效\U全局\U偏移量”//-56
,“CL\u无效\u事件\u等待\u列表”//-57
,“CL_无效事件”//-58
,“CL\U无效\U操作”//-59
,“CL\U无效\U GL\U对象”//-60
,“CL\u无效\u缓冲区大小”//-61
,“CL\U无效\U MIP\U级别”//-62
,“CL\U无效\U全局\U工作大小”//-63
,“CL\u未知\u错误\u代码”
};
如果(错误>=-63&&error来自库:
const char*clewErrorString(cl\u int错误)
{
静态常量字符*字符串[]=
{
//错误代码
“CL_成功”//0
,“未找到CL_设备”//-1
,“CL_设备不可用”//-2
,“CL_编译器不可用”//-3
,“CL_MEM_OBJECT_ALLOCATION_FAILURE”//-4
,“所有资源中的所有资源”//-5
,“CL_OUT_OF_HOST_MEMORY”//-6
,“CL_分析信息不可用”//-7
,“CL_MEM_COPY_OVERLAP”//-8
,“CL_图像_格式_不匹配”//-9
,“不支持CL_图像格式”//-10
,“CL_构建程序失败”//-11
,“CL\U映射图故障”//-12
, "" // -13
, "" // -14
, "" // -15
, "" // -16
, "" // -17
, "" // -18
, "" // -19
, "" // -20
, "" // -21
, "" // -22
, "" // -23
, "" // -24
, "" // -25
, "" // -26
, "" // -27
, "" // -28
, "" // -29
,“CL_无效_值”//-30
,“CL\U无效设备类型”//-31
,“CL_无效_平台”//-32
,“CL\U无效\U设备”//-33
,“上下文无效”//-34
,“CL\u无效队列\u属性”//-35
,“CL_无效命令_队列”//-36
,“CL\U无效\U主机\U PTR”//-37
,“CL_无效成员对象”//-38
,“CL\u无效\u图像\u格式\u描述”
const char* clewErrorString(cl_int error)
{
static const char* strings[] =
{
// Error Codes
"CL_SUCCESS" // 0
, "CL_DEVICE_NOT_FOUND" // -1
, "CL_DEVICE_NOT_AVAILABLE" // -2
, "CL_COMPILER_NOT_AVAILABLE" // -3
, "CL_MEM_OBJECT_ALLOCATION_FAILURE" // -4
, "CL_OUT_OF_RESOURCES" // -5
, "CL_OUT_OF_HOST_MEMORY" // -6
, "CL_PROFILING_INFO_NOT_AVAILABLE" // -7
, "CL_MEM_COPY_OVERLAP" // -8
, "CL_IMAGE_FORMAT_MISMATCH" // -9
, "CL_IMAGE_FORMAT_NOT_SUPPORTED" // -10
, "CL_BUILD_PROGRAM_FAILURE" // -11
, "CL_MAP_FAILURE" // -12
, "" // -13
, "" // -14
, "" // -15
, "" // -16
, "" // -17
, "" // -18
, "" // -19
, "" // -20
, "" // -21
, "" // -22
, "" // -23
, "" // -24
, "" // -25
, "" // -26
, "" // -27
, "" // -28
, "" // -29
, "CL_INVALID_VALUE" // -30
, "CL_INVALID_DEVICE_TYPE" // -31
, "CL_INVALID_PLATFORM" // -32
, "CL_INVALID_DEVICE" // -33
, "CL_INVALID_CONTEXT" // -34
, "CL_INVALID_QUEUE_PROPERTIES" // -35
, "CL_INVALID_COMMAND_QUEUE" // -36
, "CL_INVALID_HOST_PTR" // -37
, "CL_INVALID_MEM_OBJECT" // -38
, "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR" // -39
, "CL_INVALID_IMAGE_SIZE" // -40
, "CL_INVALID_SAMPLER" // -41
, "CL_INVALID_BINARY" // -42
, "CL_INVALID_BUILD_OPTIONS" // -43
, "CL_INVALID_PROGRAM" // -44
, "CL_INVALID_PROGRAM_EXECUTABLE" // -45
, "CL_INVALID_KERNEL_NAME" // -46
, "CL_INVALID_KERNEL_DEFINITION" // -47
, "CL_INVALID_KERNEL" // -48
, "CL_INVALID_ARG_INDEX" // -49
, "CL_INVALID_ARG_VALUE" // -50
, "CL_INVALID_ARG_SIZE" // -51
, "CL_INVALID_KERNEL_ARGS" // -52
, "CL_INVALID_WORK_DIMENSION" // -53
, "CL_INVALID_WORK_GROUP_SIZE" // -54
, "CL_INVALID_WORK_ITEM_SIZE" // -55
, "CL_INVALID_GLOBAL_OFFSET" // -56
, "CL_INVALID_EVENT_WAIT_LIST" // -57
, "CL_INVALID_EVENT" // -58
, "CL_INVALID_OPERATION" // -59
, "CL_INVALID_GL_OBJECT" // -60
, "CL_INVALID_BUFFER_SIZE" // -61
, "CL_INVALID_MIP_LEVEL" // -62
, "CL_INVALID_GLOBAL_WORK_SIZE" // -63
, "CL_UNKNOWN_ERROR_CODE"
};
if (error >= -63 && error <= 0)
return strings[-error];
else
return strings[64];
}
std::cout << opencl_error::to_string(CL_INVALID_KERNEL_ARGS) << std::cout;
"Invalid Kernel Arguments"