File QnnSystemProfile.h

Parent directory (include/QNN/System)

QNN System Profile API.

Definition (include/QNN/System/QnnSystemProfile.h)

Detailed Description

This is a system API header dedicated to extensions to QnnProfile that provide backend-agnostic services to users.

Includes

Full File Listing

QNN System Profile API.

    This is a system API header dedicated to extensions to QnnProfile
    that provide backend-agnostic services to users.

Defines

QNN_SYSTEM_PROFILE_HEADER_V1_INIT

{                                                         \

0,                                    /* startTime */   \

0,                                    /* stopTime */    \

0,                                    /* startMem */    \

0,                                    /* stopMem */     \

QNN_SYSTEM_PROFILE_METHOD_TYPE_NONE,  /* methodType */  \     QNN_SYSTEM_PROFILE_VISIBILITY_PUBLIC

, /* visibility */  \

NULL,                                 /* stopMem */     \

}


QnnSystemProfile_HeaderV1_t initializer macro.

QNN_SYSTEM_PROFILE_EVENT_V1_INIT   {                                                                    \     QNN_SYSTEM_PROFILE_EVENT_DATA_UNDEFINED

, /* type */                \

{                                                                  \

QNN_PROFILE_EVENT_DATA_INIT

/* eventData */           \

},                                                                 \

NULL,                                    /* profileSubEventData */ \

0                                        /* numSubEvents */        \

}


QnnSystemProfile_ProfileEventV1_t initializer macro.

QNN_SYSTEM_PROFILE_DATA_V1_INIT   {                                                             \     QNN_SYSTEM_PROFILE_HEADER_V1_INIT

, /* header */             \

NULL,                              /* profilingEvents */    \

0                                  /* numProfilingEvents */ \

}


QnnSystemProfile_ProfileDataV1_t initializer macro.

QNN_SYSTEM_PROFILE_DATA_INIT   {                                                          \     QNN_SYSTEM_PROFILE_DATA_VERSION_UNDEFINED

, /* version */ \

{                                                        \

QNN_SYSTEM_PROFILE_DATA_V1_INIT

/* v1 */      \

},                                                       \

}


QnnSystemProfile_ProfileData_t initializer macro.

Typedefs

typedef void *QnnSystemProfile_SerializationTargetHandle_t

A typedef to indicate a QNN System profile handle.

typedef struct QnnSystemProfile_ProfileEventV1_t QnnSystemProfile_ProfileEventV1_t

Enums

enum QnnSystemProfile_Error_t

QNN System Profile API result / error codes.

Values:

enumerator QNN_SYSTEM_PROFILE_NO_ERROR = QNN_SYSTEM_COMMON_NO_ERROR

Qnn System Profile success.

enumerator QNN_SYSTEM_PROFILE_ERROR_UNSUPPORTED_FEATURE = QNN_SYSTEM_COMMON_ERROR_UNSUPPORTED_FEATURE

Qnn System Profile API is not supported yet.

enumerator QNN_SYSTEM_PROFILE_ERROR_INVALID_HANDLE = QNN_SYSTEM_COMMON_ERROR_INVALID_HANDLE

QNN System Profile invalid handle.

enumerator QNN_SYSTEM_PROFILE_ERROR_INVALID_ARGUMENT = QNN_SYSTEM_COMMON_ERROR_INVALID_ARGUMENT

One or more arguments to a System Profile API is/are NULL/invalid.

enumerator QNN_SYSTEM_PROFILE_ERROR_MEM_ALLOC = 30000 + 1000 + 0

QNN System Profile Specific Errors.

QNN System Profile writer could not allocate memory properly

enum QnnSystemProfile_SerializationTargetType_t

Values:

enumerator QNN_SYSTEM_PROFILE_SERIALIZATION_TARGET_FILE = 0x01
enumerator QNN_SYSTEM_PROFILE_SERIALIZATION_TARGET_UNDEFINED = 0x7FFFFFFF
enum QnnSystemProfile_SerializationTargetConfigType_t

Values:

enumerator QNN_SYSTEM_PROFILE_SERIALIZATION_TARGET_CONFIG_MAX_NUM_MESSAGES = 0

Option for maxNumMessages.

enumerator QNN_SYSTEM_PROFILE_SERIALIZATION_TARGET_CONFIG_SERIALIZATION_HEADER = 1

Option for serializationHeader.

enumerator QNN_SYSTEM_PROFILE_SERIALIZATION_TARGET_CONFIG_UNDEFINED = 0x7FFFFFFF

Unused, present to ensure 32 bits.

enum QnnSystemProfile_Visibility_t

Values:

enumerator QNN_SYSTEM_PROFILE_VISIBILITY_PUBLIC = 0

Type for QnnSystemProfile_Header_t inidicating public visibility.

enumerator QNN_SYSTEM_PROFILE_VISIBILITY_PRIVATE = 1

Type for QnnSystemProfile_Header_t inidicating private visibility.

enum QnnSystemProfile_MethodType_t

Values:

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_NONE = 0
enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_EXECUTE = 1

Backend execute method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_FINALIZE = 2

Backend finalize method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_EXECUTE_ASYNC = 3

Backend async execute method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_CREATE_FROM_BINARY = 4

Backend create from binary method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_DEINIT = 5

Backend deinit method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_APP_CONTEXT_CREATE = 6

App context create method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_APP_COMPOSE_GRAPHS = 7

App compose graphs method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_APP_EXECUTE_IPS = 8

App execute inference/sec method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_GRAPH_COMPONENT = 9

Backend graph component method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_APP_BACKEND_LIB_LOAD = 10

App load backend library method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_BACKEND_APPLY_BINARY_SECTION = 11

Backend apply binary method.

enumerator QNN_SYSTEM_PROFILE_METHOD_TYPE_CONTEXT_FINALIZE = 12

Backend apply binary method.

enum QnnSystemProfile_EventDataType_t

Values:

enumerator QNN_SYSTEM_PROFILE_EVENT_DATA = 0

Type for QnnSystemProfile_ProfileDataV1_t containing eventData.

enumerator QNN_SYSTEM_PROFILE_EXTENDED_EVENT_DATA = 1

Type for QnnSystemProfile_ProfileDataV1_t containing extendedEventData.

enumerator QNN_SYSTEM_PROFILE_EVENT_DATA_UNDEFINED = 0x7FFFFFFF

Unused, present to ensure 32 bits.

enum QnnSystemProfile_ProfileDataVersion_t

Values:

enumerator QNN_SYSTEM_PROFILE_DATA_VERSION_1 = 0x01

Version type to access v1.

enumerator QNN_SYSTEM_PROFILE_DATA_VERSION_UNDEFINED = 0x7FFFFFFF

Unused, present to ensure 32 bits.

Functions

Qnn_ErrorHandle_t QnnSystemProfile_createSerializationTarget(QnnSystemProfile_SerializationTarget_t serializationTargetInfo, QnnSystemProfile_SerializationTargetConfig_t *configs, uint32_t numConfigs, QnnSystemProfile_SerializationTargetHandle_t *serializationTarget)

Function to create a serialization target serializationTarget from the information in serializationTargetInfo.

Parameters
  • serializationTargetConfig[in] the information about the serialization target

  • configs[in] the configurations for the serialization target

  • numConfigs[in] the number of configuration options

  • serializationTarget[out] handle to the serialization target. For use in subsequent calls .

Qnn_ErrorHandle_t QnnSystemProfile_serializeEventData(QnnSystemProfile_SerializationTargetHandle_t serializationTarget, const QnnSystemProfile_ProfileData_t **eventData, uint32_t numEvents)

Function to serialize and write provided event data eventData to a serialization target serializationTarget.

Parameters

serializationTarget[in] the target to write the output to.

Param

Qnn_ErrorHandle_t QnnSystemProfile_freeSerializationTarget(QnnSystemProfile_SerializationTargetHandle_t serializationTarget)

Function to free a system serialization target.

Parameters

serializationTarget[in] handle to free the serialization target.

struct QnnSystemProfile_SerializationTargetFile_t
#include <QnnSystemProfile.h>

Public Members

const char *fileName
const char *fileDirectory
struct QnnSystemProfile_SerializationTarget_t
#include <QnnSystemProfile.h>
union unnamed
#include <QnnSystemProfile.h>
struct QnnSystemProfile_SerializationFileHeader_t
#include <QnnSystemProfile.h>

Public Members

const char *appName
const char *appVersion
const char *backendVersion
struct QnnSystemProfile_SerializationTargetConfig_t
#include <QnnSystemProfile.h>
union unnamed
#include <QnnSystemProfile.h>

Public Members

uint32_t maxNumMessages

The maximum number of messages before writing to a single serialzation target stops.

QnnSystemProfile_SerializationFileHeader_t serializationHeader

The header info that prepends all the serialized data.

struct QnnSystemProfile_HeaderV1_t
#include <QnnSystemProfile.h>

Public Members

uint64_t startTime
uint64_t stopTime
uint64_t startMem
uint64_t stopMem
QnnSystemProfile_MethodType_t methodType
QnnSystemProfile_Visibility_t visibility
const char *graphName
struct QnnSystemProfile_ProfileEventV1_t
#include <QnnSystemProfile.h>

Public Members

QnnSystemProfile_EventDataType_t type
QnnProfile_EventData_t eventData
QnnProfile_ExtendedEventData_t extendedEventData
union QnnSystemProfile_ProfileEventV1_t::[anonymous] [anonymous]
QnnSystemProfile_ProfileEventV1_t *profileSubEventData
uint32_t numSubEvents
struct QnnSystemProfile_ProfileDataV1_t
#include <QnnSystemProfile.h>

Public Members

QnnSystemProfile_HeaderV1_t header
QnnSystemProfile_ProfileEventV1_t *profilingEvents
uint32_t numProfilingEvents
struct QnnSystemProfile_ProfileData_t
#include <QnnSystemProfile.h>
union unnamed
#include <QnnSystemProfile.h>