You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							259 lines
						
					
					
						
							12 KiB
						
					
					
				
			
		
		
	
	
							259 lines
						
					
					
						
							12 KiB
						
					
					
				| //==============================================================================
 | |
| //
 | |
| //  Copyright (c) 2016-2021 Qualcomm Technologies, Inc.
 | |
| //  All Rights Reserved.
 | |
| //  Confidential and Proprietary - Qualcomm Technologies, Inc.
 | |
| //
 | |
| //==============================================================================
 | |
| 
 | |
| #ifndef _DL_ERROR_HPP_
 | |
| #define _DL_ERROR_HPP_
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include <limits> // numeric_limits
 | |
| 
 | |
| #include "DlSystem/ZdlExportDefine.hpp"
 | |
| 
 | |
| namespace zdl {
 | |
| namespace DlSystem {
 | |
| 
 | |
| // clang and arm gcc different in how ZDL_EXPORT is used with enum class
 | |
| #if !defined (__clang__)
 | |
| enum class ErrorCode : uint32_t ZDL_EXPORT {
 | |
| #else
 | |
| enum class ZDL_EXPORT ErrorCode : uint32_t {
 | |
| #endif // ARM64V8A
 | |
|    NONE = 0,
 | |
| 
 | |
|    // System config errors
 | |
|    SNPE_CONFIG_MISSING_PARAM                             = 100,
 | |
|    SNPE_CONFIG_INVALID_PARAM                             = 101,
 | |
|    SNPE_CONFIG_MISSING_FILE                              = 102,
 | |
|    SNPE_CONFIG_NNCONFIG_NOT_SET                          = 103,
 | |
|    SNPE_CONFIG_NNCONFIG_INVALID                          = 104,
 | |
|    SNPE_CONFIG_WRONG_INPUT_NAME                          = 105,
 | |
|    SNPE_CONFIG_INCORRECT_INPUT_DIMENSIONS                = 106,
 | |
|    SNPE_CONFIG_DIMENSIONS_MODIFICATION_NOT_SUPPORTED     = 107,
 | |
|    SNPE_CONFIG_BOTH_OUTPUT_LAYER_TENSOR_NAMES_SET        = 108,
 | |
| 
 | |
|    SNPE_CONFIG_NNCONFIG_ONLY_TENSOR_SUPPORTED            = 120,
 | |
|    SNPE_CONFIG_NNCONFIG_ONLY_USER_BUFFER_SUPPORTED       = 121,
 | |
| 
 | |
|    // DlSystem errors
 | |
|    SNPE_DLSYSTEM_MISSING_BUFFER                          = 200,
 | |
|    SNPE_DLSYSTEM_TENSOR_CAST_FAILED                      = 201,
 | |
|    SNPE_DLSYSTEM_FIXED_POINT_PARAM_INVALID               = 202,
 | |
|    SNPE_DLSYSTEM_SIZE_MISMATCH                           = 203,
 | |
|    SNPE_DLSYSTEM_NAME_NOT_FOUND                          = 204,
 | |
|    SNPE_DLSYSTEM_VALUE_MISMATCH                          = 205,
 | |
|    SNPE_DLSYSTEM_INSERT_FAILED                           = 206,
 | |
|    SNPE_DLSYSTEM_TENSOR_FILE_READ_FAILED                 = 207,
 | |
|    SNPE_DLSYSTEM_DIAGLOG_FAILURE                         = 208,
 | |
|    SNPE_DLSYSTEM_LAYER_NOT_SET                           = 209,
 | |
|    SNPE_DLSYSTEM_WRONG_NUMBER_INPUT_BUFFERS              = 210,
 | |
|    SNPE_DLSYSTEM_RUNTIME_TENSOR_SHAPE_MISMATCH           = 211,
 | |
|    SNPE_DLSYSTEM_TENSOR_MISSING                          = 212,
 | |
|    SNPE_DLSYSTEM_TENSOR_ITERATION_UNSUPPORTED            = 213,
 | |
|    SNPE_DLSYSTEM_BUFFER_MANAGER_MISSING                  = 214,
 | |
|    SNPE_DLSYSTEM_RUNTIME_BUFFER_SOURCE_UNSUPPORTED       = 215,
 | |
|    SNPE_DLSYSTEM_BUFFER_CAST_FAILED                      = 216,
 | |
|    SNPE_DLSYSTEM_WRONG_TRANSITION_TYPE                   = 217,
 | |
|    SNPE_DLSYSTEM_LAYER_ALREADY_REGISTERED                = 218,
 | |
|    SNPE_DLSYSTEM_TENSOR_DIM_INVALID                      = 219,
 | |
| 
 | |
|    SNPE_DLSYSTEM_BUFFERENCODING_UNKNOWN                  = 240,
 | |
|    SNPE_DLSYSTEM_BUFFER_INVALID_PARAM                    = 241,
 | |
| 
 | |
|    // DlContainer errors
 | |
|    SNPE_DLCONTAINER_MODEL_PARSING_FAILED                 = 300,
 | |
|    SNPE_DLCONTAINER_UNKNOWN_LAYER_CODE                   = 301,
 | |
|    SNPE_DLCONTAINER_MISSING_LAYER_PARAM                  = 302,
 | |
|    SNPE_DLCONTAINER_LAYER_PARAM_NOT_SUPPORTED            = 303,
 | |
|    SNPE_DLCONTAINER_LAYER_PARAM_INVALID                  = 304,
 | |
|    SNPE_DLCONTAINER_TENSOR_DATA_MISSING                  = 305,
 | |
|    SNPE_DLCONTAINER_MODEL_LOAD_FAILED                    = 306,
 | |
|    SNPE_DLCONTAINER_MISSING_RECORDS                      = 307,
 | |
|    SNPE_DLCONTAINER_INVALID_RECORD                       = 308,
 | |
|    SNPE_DLCONTAINER_WRITE_FAILURE                        = 309,
 | |
|    SNPE_DLCONTAINER_READ_FAILURE                         = 310,
 | |
|    SNPE_DLCONTAINER_BAD_CONTAINER                        = 311,
 | |
|    SNPE_DLCONTAINER_BAD_DNN_FORMAT_VERSION               = 312,
 | |
|    SNPE_DLCONTAINER_UNKNOWN_AXIS_ANNOTATION              = 313,
 | |
|    SNPE_DLCONTAINER_UNKNOWN_SHUFFLE_TYPE                 = 314,
 | |
|    SNPE_DLCONTAINER_TEMP_FILE_FAILURE                    = 315,
 | |
| 
 | |
|    // Network errors
 | |
|    SNPE_NETWORK_EMPTY_NETWORK                            = 400,
 | |
|    SNPE_NETWORK_CREATION_FAILED                          = 401,
 | |
|    SNPE_NETWORK_PARTITION_FAILED                         = 402,
 | |
|    SNPE_NETWORK_NO_OUTPUT_DEFINED                        = 403,
 | |
|    SNPE_NETWORK_MISMATCH_BETWEEN_NAMES_AND_DIMS          = 404,
 | |
|    SNPE_NETWORK_MISSING_INPUT_NAMES                      = 405,
 | |
|    SNPE_NETWORK_MISSING_OUTPUT_NAMES                     = 406,
 | |
|    SNPE_NETWORK_EXECUTION_FAILED                         = 407,
 | |
| 
 | |
|    // Host runtime errors
 | |
|    SNPE_HOST_RUNTIME_TARGET_UNAVAILABLE                  = 500,
 | |
| 
 | |
|    // CPU runtime errors
 | |
|    SNPE_CPU_LAYER_NOT_SUPPORTED                          = 600,
 | |
|    SNPE_CPU_LAYER_PARAM_NOT_SUPPORTED                    = 601,
 | |
|    SNPE_CPU_LAYER_PARAM_INVALID                          = 602,
 | |
|    SNPE_CPU_LAYER_PARAM_COMBINATION_INVALID              = 603,
 | |
|    SNPE_CPU_BUFFER_NOT_FOUND                             = 604,
 | |
|    SNPE_CPU_NETWORK_NOT_SUPPORTED                        = 605,
 | |
|    SNPE_CPU_UDO_OPERATION_FAILED                         = 606,
 | |
| 
 | |
|    // CPU fixed-point runtime errors
 | |
|    SNPE_CPU_FXP_LAYER_NOT_SUPPORTED                      = 700,
 | |
|    SNPE_CPU_FXP_LAYER_PARAM_NOT_SUPPORTED                = 701,
 | |
|    SNPE_CPU_FXP_LAYER_PARAM_INVALID                      = 702,
 | |
| 
 | |
|    // GPU runtime errors
 | |
|    SNPE_GPU_LAYER_NOT_SUPPORTED                          = 800,
 | |
|    SNPE_GPU_LAYER_PARAM_NOT_SUPPORTED                    = 801,
 | |
|    SNPE_GPU_LAYER_PARAM_INVALID                          = 802,
 | |
|    SNPE_GPU_LAYER_PARAM_COMBINATION_INVALID              = 803,
 | |
|    SNPE_GPU_KERNEL_COMPILATION_FAILED                    = 804,
 | |
|    SNPE_GPU_CONTEXT_NOT_SET                              = 805,
 | |
|    SNPE_GPU_KERNEL_NOT_SET                               = 806,
 | |
|    SNPE_GPU_KERNEL_PARAM_INVALID                         = 807,
 | |
|    SNPE_GPU_OPENCL_CHECK_FAILED                          = 808,
 | |
|    SNPE_GPU_OPENCL_FUNCTION_ERROR                        = 809,
 | |
|    SNPE_GPU_BUFFER_NOT_FOUND                             = 810,
 | |
|    SNPE_GPU_TENSOR_DIM_INVALID                           = 811,
 | |
|    SNPE_GPU_MEMORY_FLAGS_INVALID                         = 812,
 | |
|    SNPE_GPU_UNEXPECTED_NUMBER_OF_IO                      = 813,
 | |
|    SNPE_GPU_LAYER_PROXY_ERROR                            = 814,
 | |
|    SNPE_GPU_BUFFER_IN_USE                                = 815,
 | |
|    SNPE_GPU_BUFFER_MODIFICATION_ERROR                    = 816,
 | |
|    SNPE_GPU_DATA_ARRANGEMENT_INVALID                     = 817,
 | |
|    SNPE_GPU_UDO_OPERATION_FAILED                         = 818,
 | |
|    // DSP runtime errors
 | |
|    SNPE_DSP_LAYER_NOT_SUPPORTED                          = 900,
 | |
|    SNPE_DSP_LAYER_PARAM_NOT_SUPPORTED                    = 901,
 | |
|    SNPE_DSP_LAYER_PARAM_INVALID                          = 902,
 | |
|    SNPE_DSP_LAYER_PARAM_COMBINATION_INVALID              = 903,
 | |
|    SNPE_DSP_STUB_NOT_PRESENT                             = 904,
 | |
|    SNPE_DSP_LAYER_NAME_TRUNCATED                         = 905,
 | |
|    SNPE_DSP_LAYER_INPUT_BUFFER_NAME_TRUNCATED            = 906,
 | |
|    SNPE_DSP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED           = 907,
 | |
|    SNPE_DSP_RUNTIME_COMMUNICATION_ERROR                  = 908,
 | |
|    SNPE_DSP_RUNTIME_INVALID_PARAM_ERROR                  = 909,
 | |
|    SNPE_DSP_RUNTIME_SYSTEM_ERROR                         = 910,
 | |
|    SNPE_DSP_RUNTIME_CRASHED_ERROR                        = 911,
 | |
|    SNPE_DSP_BUFFER_SIZE_ERROR                            = 912,
 | |
|    SNPE_DSP_UDO_EXECUTE_ERROR                            = 913,
 | |
|    SNPE_DSP_UDO_LIB_NOT_REGISTERED_ERROR                 = 914,
 | |
|    SNPE_DSP_UDO_INVALID_QUANTIZATION_TYPE_ERROR          = 915,
 | |
|    SNPE_DSP_RUNTIME_INVALID_RPC_DRIVER                   = 916,
 | |
|    SNPE_DSP_RUNTIME_RPC_PERMISSION_ERROR                 = 917,
 | |
|    SNPE_DSP_RUNTIME_DSP_FILE_OPEN_ERROR                  = 918,
 | |
| 
 | |
|    // Model validataion errors
 | |
|    SNPE_MODEL_VALIDATION_LAYER_NOT_SUPPORTED             = 1000,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_PARAM_NOT_SUPPORTED       = 1001,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_PARAM_INVALID             = 1002,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_PARAM_MISSING             = 1003,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_PARAM_COMBINATION_INVALID = 1004,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_ORDERING_INVALID          = 1005,
 | |
|    SNPE_MODEL_VALIDATION_INVALID_CONSTRAINT              = 1006,
 | |
|    SNPE_MODEL_VALIDATION_MISSING_BUFFER                  = 1007,
 | |
|    SNPE_MODEL_VALIDATION_BUFFER_REUSE_NOT_SUPPORTED      = 1008,
 | |
|    SNPE_MODEL_VALIDATION_LAYER_COULD_NOT_BE_ASSIGNED     = 1009,
 | |
|    SNPE_MODEL_VALIDATION_UDO_LAYER_FAILED                = 1010,
 | |
| 
 | |
|    // UDL errors
 | |
|    SNPE_UDL_LAYER_EMPTY_UDL_NETWORK                      = 1100,
 | |
|    SNPE_UDL_LAYER_PARAM_INVALID                          = 1101,
 | |
|    SNPE_UDL_LAYER_INSTANCE_MISSING                       = 1102,
 | |
|    SNPE_UDL_LAYER_SETUP_FAILED                           = 1103,
 | |
|    SNPE_UDL_EXECUTE_FAILED                               = 1104,
 | |
|    SNPE_UDL_BUNDLE_INVALID                               = 1105,
 | |
|    SNPE_UDO_REGISTRATION_FAILED                          = 1106,
 | |
|    SNPE_UDO_GET_PACKAGE_FAILED                           = 1107,
 | |
|    SNPE_UDO_GET_IMPLEMENTATION_FAILED                    = 1108,
 | |
| 
 | |
|    // Dependent library errors
 | |
|    SNPE_STD_LIBRARY_ERROR                                = 1200,
 | |
| 
 | |
|    // Unknown exception (catch (...)), Has no component attached to this
 | |
|    SNPE_UNKNOWN_EXCEPTION                                = 1210,
 | |
| 
 | |
|    // Storage Errors
 | |
|    SNPE_STORAGE_INVALID_KERNEL_REPO                      = 1300,
 | |
| 
 | |
|    // AIP runtime errors
 | |
|    SNPE_AIP_LAYER_NOT_SUPPORTED                          = 1400,
 | |
|    SNPE_AIP_LAYER_PARAM_NOT_SUPPORTED                    = 1401,
 | |
|    SNPE_AIP_LAYER_PARAM_INVALID                          = 1402,
 | |
|    SNPE_AIP_LAYER_PARAM_COMBINATION_INVALID              = 1403,
 | |
|    SNPE_AIP_STUB_NOT_PRESENT                             = 1404,
 | |
|    SNPE_AIP_LAYER_NAME_TRUNCATED                         = 1405,
 | |
|    SNPE_AIP_LAYER_INPUT_BUFFER_NAME_TRUNCATED            = 1406,
 | |
|    SNPE_AIP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED           = 1407,
 | |
|    SNPE_AIP_RUNTIME_COMMUNICATION_ERROR                  = 1408,
 | |
|    SNPE_AIP_RUNTIME_INVALID_PARAM_ERROR                  = 1409,
 | |
|    SNPE_AIP_RUNTIME_SYSTEM_ERROR                         = 1410,
 | |
|    SNPE_AIP_RUNTIME_TENSOR_MISSING                       = 1411,
 | |
|    SNPE_AIP_RUNTIME_TENSOR_SHAPE_MISMATCH                = 1412,
 | |
|    SNPE_AIP_RUNTIME_BAD_AIX_RECORD                       = 1413,
 | |
| 
 | |
|    // DlCaching errors
 | |
|    SNPE_DLCACHING_INVALID_METADATA                       = 1500,
 | |
|    SNPE_DLCACHING_INVALID_INITBLOB                       = 1501,
 | |
| 
 | |
|    // Infrastructure Errors
 | |
|    SNPE_INFRA_CLUSTERMGR_INSTANCE_INVALID                = 1600,
 | |
|    SNPE_INFRA_CLUSTERMGR_EXECUTE_SYNC_FAILED             = 1601,
 | |
| 
 | |
|    // Memory Errors
 | |
|    SNPE_MEMORY_CORRUPTION_ERROR                          = 1700
 | |
| 
 | |
| };
 | |
| 
 | |
| 
 | |
| /** @addtogroup c_plus_plus_apis C++
 | |
| @{ */
 | |
| 
 | |
| /**
 | |
|  * Returns the error code of the last error encountered.
 | |
|  *
 | |
|  * @return The error code.
 | |
|  *
 | |
|  * @note The returned error code is significant only when the return
 | |
|  *       value of the call indicated an error.
 | |
|  */
 | |
| ZDL_EXPORT ErrorCode getLastErrorCode();
 | |
| 
 | |
| /**
 | |
|  * Returns the error string of the last error encountered.
 | |
|  *
 | |
|  * @return The error string.
 | |
|  *
 | |
|  * @note The returned error string is significant only when the return
 | |
|  *       value of the call indicated an error.
 | |
|  */
 | |
| ZDL_EXPORT const char* getLastErrorString();
 | |
| 
 | |
| /**
 | |
|  * Returns the info string of the last error encountered.
 | |
|  */
 | |
| ZDL_EXPORT const char* getLastInfoString();
 | |
| 
 | |
| /**
 | |
|  * Returns the uint32_t representation of the error code enum.
 | |
|  *
 | |
|  * @param[in] code The error code to be converted.
 | |
|  *
 | |
|  * @return uint32_t representation of the error code.
 | |
|  */
 | |
| ZDL_EXPORT uint32_t enumToUInt32(zdl::DlSystem::ErrorCode code);
 | |
| 
 | |
| /** @} */ /* end_addtogroup c_plus_plus_apis C++ */
 | |
| 
 | |
| } // DlSystem
 | |
| } // zdl
 | |
| 
 | |
| #endif // _DL_ERROR_HPP_
 | |
| 
 | |
| 
 |