File UdoBase.h

Parent directory (include/QNN/DSP/Udo)

Definition (include/QNN/DSP/Udo/UdoBase.h)

Includes

  • stdint.h

Full File Listing

Defines

API_VERSION_MAJOR 1
API_VERSION_MINOR 6
API_VERSION_TEENY 0
SNPE_UDO_MAX_STRING_SIZE 1024

Typedefs

typedef uint32_t SnpeUdo_Bitmask_t
typedef SnpeUdo_Bitmask_t Udo_Bitmask_t
typedef char *SnpeUdo_String_t
typedef SnpeUdo_String_t Udo_String_t
typedef SnpeUdo_ErrorType_t Udo_ErrorType_t
typedef SnpeUdo_DataType_t Udo_DataType_t
typedef SnpeUdo_TensorLayout_t Udo_TensorLayout_t
typedef SnpeUdo_CoreType_t Udo_CoreType_t
typedef SnpeUdo_ParamType_t Udo_ParamType_t
typedef SnpeUdo_QuantizationType_t Udo_QuantizationType_t
typedef SnpeUdo_Version_t Udo_Version_t
typedef SnpeUdo_Value_t Udo_Value_t
typedef SnpeUdo_ScalarParam_t Udo_ScalarParam_t
typedef SnpeUdo_TFQuantize_t Udo_TFQuantize_t
typedef SnpeUdo_QuantizeParams_t Udo_QuantizeParams_t
typedef SnpeUdo_PerCoreDatatype_t Udo_PerCoreDatatype_t
typedef SnpeUdo_TensorParam_t Udo_TensorParam_t
typedef SnpeUdo_Param_t Udo_Param_t
typedef SnpeUdo_OpCoreInfo_t Udo_OpCoreInfo_t
typedef SnpeUdo_OperationInfo_t Udo_OperationInfo_t
typedef SnpeUdo_LibraryInfo_t Udo_LibraryInfo_t
typedef SnpeUdo_RegInfo_t Udo_RegInfo_t
typedef SnpeUdo_ImpInfo_t Udo_ImpInfo_t
typedef SnpeUdo_OpDefinition_t Udo_OpDefinition_t

Enums

enum SnpeUdo_ErrorType_t

An enum which holds the various error types. The error types are divided to classes : 0 - 99 : generic errors 100 - 200 : errors related to configuration

Values:

enumerator SNPE_UDO_NO_ERROR = 0

No Error.

enumerator UDO_NO_ERROR = 0
enumerator SNPE_UDO_WRONG_CORE = 1

Unsupported value for core type.

enumerator UDO_WRONG_CORE = 1
enumerator SNPE_UDO_INVALID_ARGUMENT = 2

Invalid attribute/argument passed into UDO API.

enumerator UDO_INVALID_ARGUMENT = 2
enumerator SNPE_UDO_UNSUPPORTED_FEATURE = 3

Unsupported feature error.

enumerator UDO_UNSUPPORTED_FEATURE = 3
enumerator SNPE_UDO_MEM_ALLOC_ERROR = 4

Error relating to memory allocation.

enumerator UDO_MEM_ALLOC_ERROR = 4
enumerator SNPE_UDO_WRONG_OPERATION = 100

No op with given attributes available in library.

enumerator UDO_WRONG_OPERATION = 100
enumerator SNPE_UDO_WRONG_CORE_TYPE = 101

Unsupported value for core type in UDO configuration.

enumerator UDO_WRONG_CORE_TYPE = 101
enumerator SNPE_UDO_WRONG_NUM_OF_PARAMS = 102

Wrong number of params in UDO definition.

enumerator UDO_WRONG_NUM_OF_PARAMS = 102
enumerator SNPE_UDO_WRONG_NUM_OF_DIMENSIONS = 103

Wrong number of dimensions for tensor(s) in UDO definition.

enumerator UDO_WRONG_NUM_OF_DIMENSIONS = 103
enumerator SNPE_UDO_WRONG_NUM_OF_INPUTS = 104

Wrong number of input tensors in UDO definition.

enumerator UDO_WRONG_NUM_OF_INPUTS = 104
enumerator SNPE_UDO_WRONG_NUM_OF_OUTPUTS = 105

Wrong number of output tensors in UDO definition.

enumerator UDO_WRONG_NUM_OF_OUTPUTS = 105
enumerator SNPE_UDO_PROGRAM_CACHE_NOT_FOUND = 106
enumerator UDO_PROGRAM_CACHE_NOT_FOUND = 106
enumerator SNPE_UDO_UNKNOWN_ERROR = 0xFFFFFFFF
enumerator UDO_UNKNOWN_ERROR = 0xFFFFFFFF
enumerator SNPE_UDO_NO_ERROR = 0

No Error.

enumerator UDO_NO_ERROR = 0
enumerator SNPE_UDO_WRONG_CORE = 1

Unsupported value for core type.

enumerator UDO_WRONG_CORE = 1
enumerator SNPE_UDO_INVALID_ARGUMENT = 2

Invalid attribute/argument passed into UDO API.

enumerator UDO_INVALID_ARGUMENT = 2
enumerator SNPE_UDO_UNSUPPORTED_FEATURE = 3

Unsupported feature error.

enumerator UDO_UNSUPPORTED_FEATURE = 3
enumerator SNPE_UDO_MEM_ALLOC_ERROR = 4

Error relating to memory allocation.

enumerator UDO_MEM_ALLOC_ERROR = 4
enumerator SNPE_UDO_WRONG_OPERATION = 100

No op with given attributes available in library.

enumerator UDO_WRONG_OPERATION = 100
enumerator SNPE_UDO_WRONG_CORE_TYPE = 101

Unsupported value for core type in UDO configuration.

enumerator UDO_WRONG_CORE_TYPE = 101
enumerator SNPE_UDO_WRONG_NUM_OF_PARAMS = 102

Wrong number of params in UDO definition.

enumerator UDO_WRONG_NUM_OF_PARAMS = 102
enumerator SNPE_UDO_WRONG_NUM_OF_DIMENSIONS = 103

Wrong number of dimensions for tensor(s) in UDO definition.

enumerator UDO_WRONG_NUM_OF_DIMENSIONS = 103
enumerator SNPE_UDO_WRONG_NUM_OF_INPUTS = 104

Wrong number of input tensors in UDO definition.

enumerator UDO_WRONG_NUM_OF_INPUTS = 104
enumerator SNPE_UDO_WRONG_NUM_OF_OUTPUTS = 105

Wrong number of output tensors in UDO definition.

enumerator UDO_WRONG_NUM_OF_OUTPUTS = 105
enumerator SNPE_UDO_PROGRAM_CACHE_NOT_FOUND = 106
enumerator UDO_PROGRAM_CACHE_NOT_FOUND = 106
enumerator SNPE_UDO_UNKNOWN_ERROR = 0xFFFFFFFF
enumerator UDO_UNKNOWN_ERROR = 0xFFFFFFFF
enum SnpeUdo_DataType_t

An enum which holds the various data types. Designed to be used as single values or combined into a bitfield parameter (0x1, 0x2, 0x4, etc)

FIXED_XX types are targeted for data in tensors.

UINT / INT types are targeted for scalar params

Values:

enumerator SNPE_UDO_DATATYPE_FLOAT_16 = 0x01

data type: 16-bit floating point

enumerator UDO_DATATYPE_FLOAT_16 = 0x01
enumerator SNPE_UDO_DATATYPE_FLOAT_32 = 0x02

data type: 32-bit floating point

enumerator UDO_DATATYPE_FLOAT_32 = 0x02
enumerator SNPE_UDO_DATATYPE_FIXED_4 = 0x04

data type: 4-bit fixed point

enumerator UDO_DATATYPE_FIXED_4 = 0x04
enumerator SNPE_UDO_DATATYPE_FIXED_8 = 0x08

data type: 8-bit fixed point

enumerator UDO_DATATYPE_FIXED_8 = 0x08
enumerator SNPE_UDO_DATATYPE_FIXED_16 = 0x10

data type: 16-bit fixed point

enumerator UDO_DATATYPE_FIXED_16 = 0x10
enumerator SNPE_UDO_DATATYPE_FIXED_32 = 0x20

data type: 32-bit fixed point

enumerator UDO_DATATYPE_FIXED_32 = 0x20
enumerator SNPE_UDO_DATATYPE_UINT_8 = 0x100

data type: 8-bit unsigned integer

enumerator UDO_DATATYPE_UINT_8 = 0x100
enumerator SNPE_UDO_DATATYPE_UINT_16 = 0x200

data type: 16-bit unsigned integer

enumerator UDO_DATATYPE_UINT_16 = 0x200
enumerator SNPE_UDO_DATATYPE_UINT_32 = 0x400

data type: 32-bit unsigned integer

enumerator UDO_DATATYPE_UINT_32 = 0x400
enumerator SNPE_UDO_DATATYPE_INT_8 = 0x1000

data type: 8-bit signed integer

enumerator UDO_DATATYPE_INT_8 = 0x1000
enumerator SNPE_UDO_DATATYPE_INT_16 = 0x2000

data type: 16-bit signed integer

enumerator UDO_DATATYPE_INT_16 = 0x2000
enumerator SNPE_UDO_DATATYPE_INT_32 = 0x4000

data type: 32-bit signed integer

enumerator UDO_DATATYPE_INT_32 = 0x4000
enumerator SNPE_UDO_DATATYPE_LAST = 0xFFFFFFFF
enumerator UDO_DATATYPE_LAST = 0xFFFFFFFF
enumerator SNPE_UDO_DATATYPE_FLOAT_16 = 0x01

data type: 16-bit floating point

enumerator UDO_DATATYPE_FLOAT_16 = 0x01
enumerator SNPE_UDO_DATATYPE_FLOAT_32 = 0x02

data type: 32-bit floating point

enumerator UDO_DATATYPE_FLOAT_32 = 0x02
enumerator SNPE_UDO_DATATYPE_FIXED_4 = 0x04

data type: 4-bit fixed point

enumerator UDO_DATATYPE_FIXED_4 = 0x04
enumerator SNPE_UDO_DATATYPE_FIXED_8 = 0x08

data type: 8-bit fixed point

enumerator UDO_DATATYPE_FIXED_8 = 0x08
enumerator SNPE_UDO_DATATYPE_FIXED_16 = 0x10

data type: 16-bit fixed point

enumerator UDO_DATATYPE_FIXED_16 = 0x10
enumerator SNPE_UDO_DATATYPE_FIXED_32 = 0x20

data type: 32-bit fixed point

enumerator UDO_DATATYPE_FIXED_32 = 0x20
enumerator SNPE_UDO_DATATYPE_UINT_8 = 0x100

data type: 8-bit unsigned integer

enumerator UDO_DATATYPE_UINT_8 = 0x100
enumerator SNPE_UDO_DATATYPE_UINT_16 = 0x200

data type: 16-bit unsigned integer

enumerator UDO_DATATYPE_UINT_16 = 0x200
enumerator SNPE_UDO_DATATYPE_UINT_32 = 0x400

data type: 32-bit unsigned integer

enumerator UDO_DATATYPE_UINT_32 = 0x400
enumerator SNPE_UDO_DATATYPE_INT_8 = 0x1000

data type: 8-bit signed integer

enumerator UDO_DATATYPE_INT_8 = 0x1000
enumerator SNPE_UDO_DATATYPE_INT_16 = 0x2000

data type: 16-bit signed integer

enumerator UDO_DATATYPE_INT_16 = 0x2000
enumerator SNPE_UDO_DATATYPE_INT_32 = 0x4000

data type: 32-bit signed integer

enumerator UDO_DATATYPE_INT_32 = 0x4000
enumerator SNPE_UDO_DATATYPE_LAST = 0xFFFFFFFF
enumerator UDO_DATATYPE_LAST = 0xFFFFFFFF
enum SnpeUdo_TensorLayout_t

An enum which holds the various layouts. Designed to be used as single values or combined into a bitfield parameter (0x1, 0x2, 0x4, etc)

Values:

enumerator SNPE_UDO_LAYOUT_NHWC = 0x01

data layout (4D): NHWC (batch-height-width-channel)

enumerator UDO_LAYOUT_NHWC = 0x01
enumerator SNPE_UDO_LAYOUT_NCHW = 0x02

data layout (4D): NCHW (batch-channel-height-width)

enumerator UDO_LAYOUT_NCHW = 0x02
enumerator SNPE_UDO_LAYOUT_NDHWC = 0x04

data layout (5D): NDHWC (batch-dimension-height-width-channel)

enumerator UDO_LAYOUT_NDHWC = 0x04
enumerator SNPE_UDO_LAYOUT_GPU_OPTIMAL1 = 0x08
enumerator UDO_LAYOUT_GPU_OPTIMAL1 = 0x08
enumerator SNPE_UDO_LAYOUT_GPU_OPTIMAL2 = 0x10
enumerator UDO_LAYOUT_GPU_OPTIMAL2 = 0x10
enumerator SNPE_UDO_LAYOUT_DSP_OPTIMAL1 = 0x11
enumerator UDO_LAYOUT_DSP_OPTIMAL1 = 0x11
enumerator SNPE_UDO_LAYOUT_DSP_OPTIMAL2 = 0x12
enumerator UDO_LAYOUT_DSP_OPTIMAL2 = 0x12
enumerator SNPE_UDO_LAYOUT_NULL = 0x13
enumerator UDO_LAYOUT_NULL = 0x13
enumerator SNPE_UDO_LAYOUT_LAST = 0xFFFFFFFF
enumerator UDO_LAYOUT_LAST = 0xFFFFFFFF
enumerator SNPE_UDO_LAYOUT_NHWC = 0x01

data layout (4D): NHWC (batch-height-width-channel)

enumerator UDO_LAYOUT_NHWC = 0x01
enumerator SNPE_UDO_LAYOUT_NCHW = 0x02

data layout (4D): NCHW (batch-channel-height-width)

enumerator UDO_LAYOUT_NCHW = 0x02
enumerator SNPE_UDO_LAYOUT_NDHWC = 0x04

data layout (5D): NDHWC (batch-dimension-height-width-channel)

enumerator UDO_LAYOUT_NDHWC = 0x04
enumerator SNPE_UDO_LAYOUT_GPU_OPTIMAL1 = 0x08
enumerator UDO_LAYOUT_GPU_OPTIMAL1 = 0x08
enumerator SNPE_UDO_LAYOUT_GPU_OPTIMAL2 = 0x10
enumerator UDO_LAYOUT_GPU_OPTIMAL2 = 0x10
enumerator SNPE_UDO_LAYOUT_DSP_OPTIMAL1 = 0x11
enumerator UDO_LAYOUT_DSP_OPTIMAL1 = 0x11
enumerator SNPE_UDO_LAYOUT_DSP_OPTIMAL2 = 0x12
enumerator UDO_LAYOUT_DSP_OPTIMAL2 = 0x12
enumerator SNPE_UDO_LAYOUT_NULL = 0x13
enumerator UDO_LAYOUT_NULL = 0x13
enumerator SNPE_UDO_LAYOUT_LAST = 0xFFFFFFFF
enumerator UDO_LAYOUT_LAST = 0xFFFFFFFF
enum SnpeUdo_CoreType_t

An enum which holds the UDO library Core type . Designed to be used as single values or combined into a bitfield parameter (0x1, 0x2, 0x4, etc)

Values:

enumerator SNPE_UDO_CORETYPE_UNDEFINED = 0x00

Library target IP Core is undefined.

enumerator UDO_CORETYPE_UNDEFINED = 0x00
enumerator SNPE_UDO_CORETYPE_CPU = 0x01

Library target IP Core is CPU.

enumerator UDO_CORETYPE_CPU = 0x01
enumerator SNPE_UDO_CORETYPE_GPU = 0x02

Library target IP Core is GPU.

enumerator UDO_CORETYPE_GPU = 0x02
enumerator SNPE_UDO_CORETYPE_DSP = 0x04

Library target IP Core is DSP.

enumerator UDO_CORETYPE_DSP = 0x04
enumerator SNPE_UDO_CORETYPE_LAST = 0xFFFFFFFF
enumerator UDO_CORETYPE_LAST = 0xFFFFFFFF
enumerator SNPE_UDO_CORETYPE_UNDEFINED = 0x00

Library target IP Core is undefined.

enumerator UDO_CORETYPE_UNDEFINED = 0x00
enumerator SNPE_UDO_CORETYPE_CPU = 0x01

Library target IP Core is CPU.

enumerator UDO_CORETYPE_CPU = 0x01
enumerator SNPE_UDO_CORETYPE_GPU = 0x02

Library target IP Core is GPU.

enumerator UDO_CORETYPE_GPU = 0x02
enumerator SNPE_UDO_CORETYPE_DSP = 0x04

Library target IP Core is DSP.

enumerator UDO_CORETYPE_DSP = 0x04
enumerator SNPE_UDO_CORETYPE_LAST = 0xFFFFFFFF
enumerator UDO_CORETYPE_LAST = 0xFFFFFFFF
enum SnpeUdo_ParamType_t

An enum to specify the parameter type : Scalar or Tensor

Values:

enumerator SNPE_UDO_PARAMTYPE_SCALAR = 0x00

UDO static param type: scalar.

enumerator UDO_PARAMTYPE_SCALAR = 0x00
enumerator SNPE_UDO_PARAMTYPE_STRING = 0x01

UDO static param type: string.

enumerator UDO_PARAMTYPE_STRING = 0x01
enumerator SNPE_UDO_PARAMTYPE_TENSOR = 0x02

UDO static param type: tensor.

enumerator UDO_PARAMTYPE_TENSOR = 0x02
enumerator SNPE_UDO_PARAMTYPE_LAST = 0xFFFFFFFF
enumerator UDO_PARAMTYPE_LAST = 0xFFFFFFFF
enumerator SNPE_UDO_PARAMTYPE_SCALAR = 0x00

UDO static param type: scalar.

enumerator UDO_PARAMTYPE_SCALAR = 0x00
enumerator SNPE_UDO_PARAMTYPE_STRING = 0x01

UDO static param type: string.

enumerator UDO_PARAMTYPE_STRING = 0x01
enumerator SNPE_UDO_PARAMTYPE_TENSOR = 0x02

UDO static param type: tensor.

enumerator UDO_PARAMTYPE_TENSOR = 0x02
enumerator SNPE_UDO_PARAMTYPE_LAST = 0xFFFFFFFF
enumerator UDO_PARAMTYPE_LAST = 0xFFFFFFFF
enum SnpeUdo_QuantizationType_t

An enum to specify quantization type

Values:

enumerator SNPE_UDO_QUANTIZATION_NONE = 0x00

Tensor Quantization type: NONE. Signifies unquantized tensor data.

enumerator UDO_QUANTIZATION_NONE = 0x00
enumerator SNPE_UDO_QUANTIZATION_TF = 0x01

Tensor Quantization type: Tensorflow-style.

enumerator UDO_QUANTIZATION_TF = 0x01
enumerator SNPE_UDO_QUANTIZATION_QMN = 0x02
enumerator UDO_QUANTIZATION_QMN = 0x02
enumerator SNPE_UDO_QUANTIZATION_LAST = 0xFFFFFFFF
enumerator UDO_QUANTIZATION_LAST = 0xFFFFFFFF
enumerator SNPE_UDO_QUANTIZATION_NONE = 0x00

Tensor Quantization type: NONE. Signifies unquantized tensor data.

enumerator UDO_QUANTIZATION_NONE = 0x00
enumerator SNPE_UDO_QUANTIZATION_TF = 0x01

Tensor Quantization type: Tensorflow-style.

enumerator UDO_QUANTIZATION_TF = 0x01
enumerator SNPE_UDO_QUANTIZATION_QMN = 0x02
enumerator UDO_QUANTIZATION_QMN = 0x02
enumerator SNPE_UDO_QUANTIZATION_LAST = 0xFFFFFFFF
enumerator UDO_QUANTIZATION_LAST = 0xFFFFFFFF
struct SnpeUdo_Version_t
#include <UdoBase.h>
struct SnpeUdo_LibVersion_t
#include <UdoBase.h>
struct Udo_PkgVersion_t
#include <UdoBase.h>
union SnpeUdo_Value_t
#include <UdoBase.h>
struct SnpeUdo_ScalarParam_t
#include <UdoBase.h>
struct SnpeUdo_TFQuantize_t
#include <UdoBase.h>
struct SnpeUdo_QuantizeParams_t
#include <UdoBase.h>
struct SnpeUdo_PerCoreDatatype_t
#include <UdoBase.h>
struct SnpeUdo_TensorParam_t
#include <UdoBase.h>
struct SnpeUdo_Param_t
#include <UdoBase.h>
struct SnpeUdo_OpCoreInfo_t
#include <UdoBase.h>
struct SnpeUdo_OperationInfo_t
#include <UdoBase.h>
struct SnpeUdo_LibraryInfo_t
#include <UdoBase.h>
struct SnpeUdo_RegInfo_t
#include <UdoBase.h>
struct SnpeUdo_ImpInfo_t
#include <UdoBase.h>
struct SnpeUdo_OpDefinition_t
#include <UdoBase.h>