File QnnGpuOpPackage.h

Parent directory (include/QNN/GPU)

A header which defines the QNN GPU specialization of the File QnnOpPackage.h interface.

Definition (include/QNN/GPU/QnnGpuOpPackage.h)

Includes

Full File Listing

A header which defines the QNN GPU specialization of the QnnOpPackage.h interface.

Defines

QNN_GPU_OP_PACKAGE_SUPER_NODE_OPTIMIZATION_INIT

{                                                     \

NULL, /*operations*/                                \

NULL, /*connectionConstraints*/                     \

NULL, /*tensorConstraints*/                         \

}


QnnGpuOpPackage_SuperNodeOptimization_t initializer macro.

QNN_GPU_OP_PACKAGE_OPTIMIZATION_INIT   {                                                     \     QNN_GPU_OPTIMIZATION_TYPE_UNDEFINED

, NULL, { NULL } \

}


QnnGpuOpPackage_Optimization_t initializer macro.

QNN_GPU_BLOCK_ENCODING_INFO_INIT

{                                                   \

NULL,                      /*bqBlockSize*/    \

0u                         /*bqEncodingTensorId*/      \

}


QnnGpu_MemoryObject_t initializer macro.

QNN_GPU_MEMORY_OBJECT_INIT   {                                                   \     QNN_GPU_MEM_OBJ_TYPE_UNCLAIMED, /*type*/          \     QNN_DATATYPE_UNDEFINED

,         /*dataType*/      \

NULL,                           /*dimensions*/    \

NULL,                           /*offsets*/       \

0u,                             /*numDimensions*/ \

QNN_GPU_MEM_LAYOUT_UNDEFINED,   /*layout*/        \     QNN_GPU_BLOCK_ENCODING_INFO_INIT

,  /*blockEncodingInfo*/    \

NULL                            /*name*/          \

}


QnnGpu_MemoryObject_t initializer macro.

QNN_GPU_TENSOR_STORAGE_TYPE_INIT

{                                      \

0u,   /*id*/                         \

NULL  /*memoryObject*/               \

}


QnnGpu_TensorStorageType_t initializer macro.

QNN_GPU_OUTPUT_CLAIM_INIT

{                               \

0u,      /*opConfigIndex*/    \

0u,      /*outputIndex*/      \

NULL     /*memoryObject*/     \

}


QnnGpu_OutputClaim_t initializer macro.

QNN_GPU_TENSOR_KERNEL_ARG_INIT

{                                    \

0u,   /*opConfigIndex*/            \

0u,   /*tensorIndex*/              \

0u    /*element*/                  \

}


QnnGpu_TensorKernelArg_t initializer macro.

QNN_GPU_DATA_KERNEL_ARG_INIT   {                                           \     QNN_GPU_KERNEL_ARG_CL_TYPE_CHAR

, /*type*/ \

{                                         \

0 /*qnnChar*/                           \

}                                         \

}


QnnGpu_DataKernelArg_t initializer macro.

QNN_GPU_LOCAL_KERNEL_ARG_INIT   { 0u /*size*/ }

QnnGpu_LocalKernelArg_t initializer macro.

QNN_GPU_KERNEL_ARG_INIT   {                                             \     QNN_GPU_KERNEL_ARG_TYPE_NULL_PTR

, /*type*/  \

{                                           \

QNN_GPU_TENSOR_KERNEL_ARG_INIT

/*tensor*/ \

}                                           \

}


QnnGpu_KernelArg_t initializer macro.

QNN_GPU_KERNEL_INIT

{                                                      \

NULL,                            /*kernelSource*/    \

0u,                              /*sourceLength*/    \

QNN_GPU_KERNEL_SOURCE_TYPE_TEXT

, /*sourceType*/      \

NULL,                            /*buildOptions*/    \

0u,                              /*globalWorkDim*/   \

{0u},                            /*globalWorkSizes*/ \

0u,                              /*localWorkDim*/    \

{0u},                            /*localWorkSizes*/  \

NULL,                            /*args*/            \

NULL,                            /*name*/            \

0u,                              /*isDynamic*/       \

NULL,                            /*tuningConfigs*/   \

NULL                             /*reserved*/        \

}


QnnGpu_Kernel_t initializer macro.

QNN_GPU_OPERATION_INIT

{                                \

NULL,     /*outputClaims*/     \

NULL,     /*memoryObjects*/    \

NULL,     /*kernels*/          \

}


QnnGpu_Operation_t initializer macro.

Enums

enum QnnGpuOpPackage_OptimizationType_t

An enum to specify the QNN GPU optimization type.

Values:

enumerator QNN_GPU_OPTIMIZATION_TYPE_UNDEFINED = 0

Undefined option only used for QNN_GPU_OP_PACKAGE_OPTIMIZATION_INIT.

enumerator QNN_GPU_OPTIMIZATION_TYPE_SUPER_NODE = 2

Super node optimization.

enum QnnGpuOpPackage_TensorConstraintSource_t

An enum to specify the source of a tensor in an op def for a tensor constraint.

Values:

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_SOURCE_OUTPUT = 1

Tensor is an op def output.

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_SOURCE_INPUT = 2
enum QnnGpuOpPackage_TensorConstraintType_t

An enum to specify the tensor constraint type.

Values:

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_CONSTRAINT_DATA_TYPE = 1

Add a Qnn_DataType_t to the whitelist of allowable types. If no data type constraint is present for a tensor, all data types are allowed.

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_CONSTRAINT_RANK = 2

Tensor must match it’s rank.

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_CONSTRAINT_DIMENSION = 3

Tensor must match one of it’s dimensions.

enumerator QNN_GPU_OPTIMIZATION_SUPER_NODE_TENSOR_CONSTRAINT_TENSOR_TYPE = 4

Add a Qnn_TensorType_t to the whitelist of allowable tensor types. If no tensor type constraint is present for a tensor, all types are allowed.

enum QnnGpu_MemoryObjectType_t

An enum to specify the QNN GPU memory object type.

Values:

enumerator QNN_GPU_MEM_OBJ_TYPE_HOST = 0

Host memory, only used for Qnn_Param_t tensors.

enumerator QNN_GPU_MEM_OBJ_TYPE_BUFFER = 1

GPU driver buffer memory object.

enumerator QNN_GPU_MEM_OBJ_TYPE_IMAGE2D = 2

GPU driver image 2D memory object.

enumerator QNN_GPU_MEM_OBJ_TYPE_IMAGE2D_ARRAY = 3

GPU driver image 2D array memory object.

enumerator QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D = 4

Aggregation of GPU driver image 2D memory objects.

enumerator QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D_ARRAY = 5

Aggregation of GPU driver image 2D array memory objects.

enumerator QNN_GPU_MEM_OBJ_TYPE_UNCLAIMED = 6

Memory type is unclaimed and can be specified by the op package via the QnnGpu_OutputClaim_t struct

enum QnnGpu_MemoryLayout_t

An enum to specify the QNN GPU memory layout.

Values:

enumerator QNN_GPU_MEM_LAYOUT_HWC = 0

HWC layout.

enumerator QNN_GPU_MEM_LAYOUT_HCW = 1

HCW layout.

enumerator QNN_GPU_MEM_LAYOUT_CHW = 2

CHW layout.

enumerator QNN_GPU_MEM_LAYOUT_C_HWC4 = 3

C_HWC4 layout.

enumerator QNN_GPU_MEM_LAYOUT_DHWC = 4

DHWC layout.

enumerator QNN_GPU_MEM_LAYOUT_CDHW = 5

CDHW layout.

enumerator QNN_GPU_MEM_LAYOUT_UNDEFINED = 0x7FFFFFFF

Undefined.

enum QnnGpu_KernelArgType_t

An enum to specify the kernel argument type.

Values:

enumerator QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READ = 0

Operation input tensor used as kernel input.

enumerator QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READWRITE = 1

Operation input tensor used as kernel output.

enumerator QNN_GPU_KERNEL_ARG_TYPE_OP_OUTPUT_WRITE = 2

Operation output tensor used as kernel output.

enumerator QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READ = 3

Operation internal tensor used as kernel input.

enumerator QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READWRITE = 4

Operation internal tensor used as kernel input/output.

enumerator QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_WRITE = 5

Operation internal tensor used as kernel output.

enumerator QNN_GPU_KERNEL_ARG_TYPE_DATA = 6

Plain old data kernel argument.

enumerator QNN_GPU_KERNEL_ARG_TYPE_LOCAL = 7

Local memory kernel argument.

enumerator QNN_GPU_KERNEL_ARG_TYPE_NULL_PTR = 8

Null pointer kernel argument.

enumerator QNN_GPU_KERNEL_ARG_TYPE_OP_TENSOR_PARAM = 9

Operation tensor parameter used as kernel input.

enum QnnGpu_DataKernelArgType_t

An enum to specify the kernel data argument type.

Values:

enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_CHAR = 0
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_UCHAR = 1
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_SHORT = 2
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_USHORT = 3
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_INT = 4
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_UINT = 5
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_LONG = 6
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_ULONG = 7
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_FLOAT = 8
enumerator QNN_GPU_KERNEL_ARG_CL_TYPE_DOUBLE = 9
enum QnnGpu_KernelSourceType_t

An enum to specify the kernel source type.

Values:

enumerator QNN_GPU_KERNEL_SOURCE_TYPE_TEXT = 0
enumerator QNN_GPU_KERNEL_SOURCE_TYPE_BINARY = 1
enum QnnGpu_KernelTuningOption_t

This enum defines QNN GPU kernel tuning options.

Values:

enumerator QNN_GPU_KERNEL_TUNING_LOCAL_WORK_SIZE = 0

local work size tuning

enumerator QNN_GPU_KERNEL_TUNING_UNDEFINED = 0x7FFFFFFF
struct QnnGpu_DeviceProperties_t
#include <QnnGpuOpPackage.h>

A struct which is used to communicate device constant properties.

Public Members

char deviceVersion[128]

GPU device version string.

uint32_t interfaceVersion[2]

GPU driver interface version {major, minor}.

char tierName[8]

GPU Adreno(TM) tier string.

uint32_t compilerVersion[4]

GPU driver version {product, major, minor, patch}.

size_t maxWorkGroupSize

GPU device max work group size.

size_t image2dMaxWidth

GPU device image 2D max width.

size_t image2dMaxHeight

GPU device image 2D max height.

size_t maxBufferAllocSize

GPU device max memory allocation size.

uint32_t baseAddrAlignment

GPU device addr alignment in bits.

size_t image2dArrayMaxWidth

GPU device image 2D Array max width.

size_t image2dArrayMaxHeight

GPU device image 2D Array max height.

size_t image2dArrayMaxDepth

GPU device image 2D Array max depth.

bool predicateClobberFullRegister

GPU compiler predicate clobber type.

bool isLocalMemorySupported

GPU local memory support type.

bool vector64Support

GPU compiler vector64 support.

struct QnnGpuOpPackage_GlobalInfrastructure_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specializing QnnOpPackage_GlobalInfrastructure_t.

Public Members

const Qnn_ApiVersion_t *sdkApiVersion

GPU backend version (as returned by QnnBackend_getApiVersion())

const QnnGpu_DeviceProperties_t *deviceProperties

GPU device properties.

const char *driverPath

Null terminated path to the OpenCL driver used by the backend.

struct QnnGpuOpPackage_PackageInfo_t
#include <QnnGpuOpPackage.h>

A struct having op package specific information.

Public Members

const char *kernelRepoHash

Null terminated hash key string of all kernel sources.

struct QnnGpuOpPackage_SuperNodeConnectionConstraint_t
#include <QnnGpuOpPackage.h>

A struct representing a super node connection constraint.

Public Members

uint32_t producer

Producer node corresponding to QnnGpuOpPackage_SuperNodeOptimization_t::operations.

uint32_t producerOutputIndex

Output tensor index corresponding to the producer node.

uint32_t consumer

Consumer node corresponding to QnnGpuOpPackage_SuperNodeOptimization_t::operations.

uint32_t consumerInputIndex

Output tensor index corresponding to the consumer node.

struct QnnGpuOpPackage_TensorConstraint_t
#include <QnnGpuOpPackage.h>

A struct representing a tensor constraint.

Public Members

uint32_t operationIndex

Operation corresponding to QnnGpuOpPackage_SuperNodeOptimization_t::operations.

QnnGpuOpPackage_TensorConstraintSource_t source

Source of the tensor in the Qnn_OpConfig_t.

uint32_t index

Tensor index in the Qnn_OpConfig_t, used only for inputs and outputs.

Tensor dimension index for dimension constraints.

const char *name

Tensor parameter name in the Qnn_OpConfig_t, used only for parameters.

union QnnGpuOpPackage_TensorConstraint_t::[anonymous] [anonymous]
QnnGpuOpPackage_TensorConstraintType_t type

Type of tensor constraint.

Qnn_DataType_t dataType

Tensor data type for Qnn_DataType_t constraints.

Qnn_TensorType_t tensorType

Tensor type for Qnn_TensorType_t constraints.

uint32_t rank

Tensor rank for rank constraints.

uint32_t size

Tensor dimension size for dimension constraints.

struct QnnGpuOpPackage_TensorConstraint_t::[anonymous]::[anonymous] dimension
union QnnGpuOpPackage_TensorConstraint_t::[anonymous] [anonymous]
struct QnnGpuOpPackage_SuperNodeOptimization_t
#include <QnnGpuOpPackage.h>

Public Members

const char **operations

Null-terminated array of comma separated lists of operations used for matching super node ops. An asterisk (*) may be used to represent any operation type.

QnnGpuOpPackage_SuperNodeConnectionConstraint_t **connectionConstraints

Null-terminated array of pointers to super node connection constraints.

QnnGpuOpPackage_TensorConstraint_t **tensorConstraints

Null-terminated array of pointers to super node tensor constraints.

struct QnnGpuOpPackage_Optimization_t
#include <QnnGpuOpPackage.h>

A struct representing a QNN GPU optimization.

Public Members

QnnGpuOpPackage_OptimizationType_t type

Type of optimization.

const char *name

Op package assigned name of the optimization.

const QnnGpuOpPackage_SuperNodeOptimization_t *superNode

Super node optimization, used when type is QNN_GPU_OPTIMIZATION_TYPE_SUPER_NODE.

union QnnGpuOpPackage_Optimization_t::[anonymous] [anonymous]
struct QnnGpuOpPackage_GraphInfrastructure_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specializing QnnOpPackage_GraphInfrastructure_t.

Public Members

QnnGpu_Precision_t precisionMode

GPU precision mode, user-supplied hint used for optimal kernel selection.

const QnnGpu_DeviceProperties_t *deviceProperties

GPU device properties.

struct QnnGpu_BlockEncodingInfo_t
#include <QnnGpuOpPackage.h>

A struct to specify blockSize for weight Tensor and tensorId for weight Param tensor.

Public Members

uint32_t *bqBlockSize
uint32_t bqEncodingTensorId

Tensor Id for Quantization encodings.

struct QnnGpu_MemoryObject_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a memory object This struct is used with the following kernel argument types:

  • QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READ

  • QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READWRITE

  • QNN_GPU_KERNEL_ARG_TYPE_OP_OUTPUT_WRITE

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READ

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READWRITE

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_WRITE

Public Members

QnnGpu_MemoryObjectType_t type

Type of memory object.

Qnn_DataType_t dataType

Data type of the memory object.

uint32_t *dimensions

Memory object dimensions

Size is numDimensions. Uses the following type dependent format:

QNN_GPU_MEM_OBJ_TYPE_BUFFER -> {numElements}

QNN_GPU_MEM_OBJ_TYPE_IMAGE2D -> {height,width}

QNN_GPU_MEM_OBJ_TYPE_IMAGE2D_ARRAY -> {height,width,array_size}

QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D -> {num_batches,height,width}

QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D_ARRAY -> {num_batches,height,width,array_size}

uint32_t *offsets

Memory object offsets

Size is numDimensions.

Indicates where the data store starts in the memory object.

uint32_t numDimensions

Number of dimensions in memory object

Size is numDimensions. Has the following type dependent size:

QNN_GPU_MEM_OBJ_TYPE_BUFFER -> 1

QNN_GPU_MEM_OBJ_TYPE_IMAGE2D -> 2

QNN_GPU_MEM_OBJ_TYPE_IMAGE2D_ARRAY -> 3

QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D -> 3

QNN_GPU_MEM_OBJ_TYPE_AGGREGATED_IMAGE2D_ARRAY -> 4

QnnGpu_MemoryLayout_t layout

Memory object layout

Op package specific layout identifier

Default is QNN_GPU_MEM_LAYOUT_UNDEFINED if not already specified by a prior operation

QnnGpu_BlockEncodingInfo_t blockEncodingInfo

Block Quantization Tensor Information.

const char *name

Memory object name used to propagate the tensor name to Backend.

struct QnnGpu_TensorStorageType_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a storage tensor.

Public Members

uint32_t id

Tensor ID.

const QnnGpu_MemoryObject_t *memoryObject

Tensor’s associated memory object.

struct QnnGpuOpPackage_Node_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specializing QnnOpPackage_Node_t.

Public Members

uint32_t optimization

Optimization index, see QnnOpPackage_Info_t, ignore when only one op config provided.

const Qnn_OpConfig_t **configs

Null-terminated array of operation config pointers Only one pointer provided when no optimizations performed

const QnnGpu_TensorStorageType_t **storageTypes

Null-terminated array of tensor storage type pointers called out in the config.

int32_t kernelVariant

Kernel variant index, if set then used by OpPackage to determine kernel selection.

struct QnnGpu_OutputClaim_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying an output tensor claim. Using the principle of least work, operations must output a memory object type that is most convenient for itself. Only QNN_TENSOR_TYPE_NATIVE tensor types may be claimed.

Public Members

uint32_t opConfigIndex

Index into the Qnn_OpConfig_t provided in QnnGpuOpPackage_Node_t.

uint32_t outputIndex

Index into the operation outputs to identify the tensor.

const QnnGpu_MemoryObject_t *memoryObject

Specification of the claimed memory object.

struct QnnGpu_TensorKernelArg_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a kernel argument corresponding to a tensor. This struct is used with the following kernel argument types:

  • QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READ

  • QNN_GPU_KERNEL_ARG_TYPE_OP_INPUT_READWRITE

  • QNN_GPU_KERNEL_ARG_TYPE_OP_OUTPUT_WRITE

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READ

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_READWRITE

  • QNN_GPU_KERNEL_ARG_TYPE_INTERNAL_WRITE

Public Members

uint32_t opConfigIndex

Index into the Qnn_OpConfig_t provided in QnnGpuOpPackage_Node_t, ignored for INTERNAL types.

uint32_t tensorIndex

Index into the operation input ot output list or the internal tensor list.

uint32_t element

Batch element index for aggregated tensor types.

struct QnnGpu_DataKernelArg_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a kernel argument corresponding to a plain old data. This struct is used only with the QNN_GPU_KERNEL_ARG_TYPE_DATA arg type.

Public Members

QnnGpu_DataKernelArgType_t type

Data type of the data.

int8_t qnnChar

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_CHAR.

uint8_t qnnUChar

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_UCHAR.

int16_t qnnShort

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_SHORT.

uint16_t qnnUShort

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_USHORT.

int32_t qnnInt

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_INT.

uint32_t qnnUInt

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_UINT.

int64_t qnnLong

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_LONG.

uint64_t qnnULong

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_ULONG.

float qnnFloat

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_FLOAT.

double qnnDouble

Used with QNN_GPU_KERNEL_ARG_CL_TYPE_DOUBLE.

union QnnGpu_DataKernelArg_t::[anonymous] [anonymous]
struct QnnGpu_LocalKernelArg_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a kernel argument corresponding to a local memory type. This struct is used only with the QNN_GPU_KERNEL_ARG_TYPE_LOCAL arg type.

Public Members

uint32_t size

Size of the memory requested in bytes.

struct QnnGpu_KernelArg_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a kernel argument. Note that the QNN_GPU_KERNEL_ARG_TYPE_NULL_PTR type does not have an entry in the union.

Public Members

QnnGpu_KernelArgType_t type

Type of kernel argument.

QnnGpu_TensorKernelArg_t tensor

Tensor type argument.

QnnGpu_DataKernelArg_t data

Plain old data argument.

QnnGpu_LocalKernelArg_t local

Local memory argument.

union QnnGpu_KernelArg_t::[anonymous] [anonymous]
struct QnnGpu_KernelLocalWorkSizeTuning_t
#include <QnnGpuOpPackage.h>

This struct provides local-work-size tuning configuration.

Public Members

uint32_t minValue[3]
uint32_t maxValue[3]
uint32_t stepSize[3]
struct QnnGpu_KernelTuningConfig_t
#include <QnnGpuOpPackage.h>

This struct provides QNN GPU kernel tuning configuration.

Public Members

QnnGpu_KernelTuningOption_t option
union unnamed
#include <QnnGpuOpPackage.h>
struct QnnGpu_Kernel_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying a kernel.

Public Members

const void *kernelSource

Kernel source code or binary.

size_t sourceLength

Length of kernel source/binary in bytes.

QnnGpu_KernelSourceType_t sourceType

Type of kernel source.

const char *buildOptions

Null terminated build options string used for kernel compilation.

size_t globalWorkDim

Rank of the globalWorkSizes.

size_t globalWorkSizes[3]

Global work sizes used by enqueuing the kernel.

size_t localWorkDim

Rank of the localWorkSizes.

size_t localWorkSizes[3]

Local work sizes used by enqueuing the kernel.

QnnGpu_KernelArg_t **args

Null-terminated array of kernel arguments in the order they appear in the kernel function.

const char *name

Null terminated name of the kernel.

uint32_t isDynamic

If non-zero, kernel will be enqueued during execute even if it is static.

QnnGpu_KernelTuningConfig_t **tuningConfigs

Null-terminated array to provide kernel tuning configurations.

void *reserved

Reserved field, must be null.

struct QnnGpu_Operation_t
#include <QnnGpuOpPackage.h>

A QNN GPU struct specifying an operation.

Public Members

QnnGpu_OutputClaim_t **outputClaims

Null-terminated array of output claims.

QnnGpu_MemoryObject_t **memoryObjects

Null-terminated array of tensor requests.

QnnGpu_Kernel_t **kernels

Null-terminated array of kernels.