在哪里可以找到OpenCL(Nvidia)中错误代码的字符串?

在哪里可以找到OpenCL(Nvidia)中错误代码的字符串?,opencl,nvidia,Opencl,Nvidia,在NVIDIAGPU上运行一个简单的OpenCL矩阵乘法代码,得到错误代码-30。我想知道这个代码是什么意思。我确信与此代码(int)对应的字符串必须存储在某个地方。有人能帮我解释一下这个代码吗?一旦我知道这个错误的意思,我就可以很容易地调试我的代码 从库中: const char*clewErrorString(cl\u int错误) { 静态常量字符*字符串[]= { //错误代码 “CL_成功”//0 ,“未找到CL_设备”//-1 ,“CL_设备不可用”//-2 ,“CL_编译器不可用”

在NVIDIAGPU上运行一个简单的OpenCL矩阵乘法代码,得到错误代码-30。我想知道这个代码是什么意思。我确信与此代码(int)对应的字符串必须存储在某个地方。有人能帮我解释一下这个代码吗?一旦我知道这个错误的意思,我就可以很容易地调试我的代码

从库中:

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"