Supported Network Layers

Supported Network Layers

Qualcomm® Neural Processing SDK supports the network layer types listed in the table below.

See Limitations for details on the limitations and constraints for the supported runtimes and individual layer types.

All of supported layers in GPU runtime are valid for both of GPU modes: GPU_FLOAT32_16_HYBRID and GPU_FLOAT16. GPU_FLOAT32_16_HYBRID - data storage is done in half float and computation is done in full float. GPU_FLOAT16 - both data storage and computation is done in half float.

A list of supported ONNX operations can be found at ONNX Operator Support.

Converters Equivalent

  • COMMAND_LINE : indicates the Op is supported through command-line parameters provided during conversion and not as part of a source framework model. See the Source Framework’s converter help for more details.

  • INFERRED: indicates Source Framework does not have a concrete definition for Op. However, converter pattern-matches a sequence of Ops to map to listed QNN Op.

  • — : indicates there is no corresponding Source Framework Op, or the corresponding Op is not yet supported.

Runtime Support

  • YES: Runtime has an implementation for Op.

  • NO: Runtime does not have an implementation for Op.

No.

Operation

Converters Equivalent

Runtime Support

Onnx

TensorFlow

TensorFlow Lite

PyTorch

CPU

GPU

AIP (HTA + DSP)

HTP (DSP v68+)

DSP (v66)

1

ArgbToRgb

COMMAND_LINE

COMMAND_LINE

—

—

YES

YES

YES

YES

YES

2

Argmax

ArgMax

argmax

—

argmax

YES

YES

YES

YES

YES

3

Argmin

ArgMin

argmin

—

argmin

YES

YES

YES

YES

YES

4

AxisAlignedBboxTransform

BBoxTransform(org.pytorch._caffe2) with im_info’s img_scale = 1

—

—

—

YES

NO

NO

NO

NO

5

Batchnorm

BatchNormalization

batch_normalization, fused_batch_norm(FusedBatchNorm, FusedBatchNormV3)

INFERRED

BatchNorm2d

YES

YES

YES

YES

YES

6

BatchPermutation

—

—

—

—

YES

NO

NO

NO

NO

7

BatchToSpace

—

batch_to_space

—

—

YES

YES

YES

YES

YES

8

BboxTransform

—

—

—

—

YES

NO

NO

NO

NO

9

BoxWithNmsLimit

BoxWithNMSLimit(org.pytorch._caffe2)

—

—

—

YES

NO

YES

NO

YES

10

Cast

Cast

cast

—

to

YES

YES

YES

YES

YES

11

ChannelShuffle

INFERRED

INFERRED

—

ChannelShuffle

YES

YES

YES

YES

YES

12

CollectRpnProposals

—

—

—

—

YES

NO

NO

NO

NO

13

Concat

Concat

concat(Concat, ConcatV2)

concatenation

cat

YES

YES

YES

YES

YES

14

ConstantOfShape

—

—

—

—

YES

NO

NO

NO

NO

15

Conv2d

Conv

conv2d

conv_2d

Conv2d

YES

YES

YES

YES

YES

16

Conv3d

Conv

conv3d

conv3d

—

YES

NO

YES

YES

YES

17

Convert

—

—

—

—

YES

NO

YES

YES

YES

18

Correlation1D

—

—

—

—

YES

NO

YES

NO

YES

19

CropAndResize

—

crop_and_resize

—

—

YES

NO

NO

NO

NO

20

CumulativeSum

CumSum

cumsum

cumsum

cumsum

YES

NO

NO

YES

NO

21

DepthToSpace

DepthToSpace

depth_to_space

depth_to_space

PixelShuffle

YES

YES

YES

YES

YES

22

DepthWiseConv2d

Conv with ‘num_output’ == ‘input channels’ == ‘group’

depthwise_conv2d

—

—

YES

YES

YES

YES

YES

23

Dequantize

DequantizeLinear

—

—

—

YES

YES

YES

YES

YES

24

DetectionOutput

—

INFERRED

TfliteDetectionPostProcess

—

YES

YES

YES

YES

YES

25

DistributeFpnProposals

—

—

—

—

YES

NO

NO

NO

NO

26

ElementWiseAbs

Abs

abs

abs

abs

YES

YES

YES

YES

YES

27

ElementWiseAdd

Add, Sum

add(Add, AddV2, Sum), bias_add

add

add

YES

YES

YES

YES

YES

28

ElementWiseAnd

And

logical_and

—

logical_and

YES

YES

NO

YES

NO

29

ElementWiseAsin

Asin

—

—

asin

YES

NO

NO

NO

NO

30

ElementWiseAtan

Atan

—

atan2

atan

YES

NO

NO

YES

NO

31

ElementWiseCeil

Ceil

ceil

—

ceil

YES

NO

YES

YES

YES

32

ElementWiseCos

Cos

—

—

cos

YES

YES

NO

YES

NO

33

ElementWiseDivide

Div, Reciprocal

divide, realdiv

div

div

YES

YES

YES

YES

YES

34

ElementWiseEqual

Equal

equal

—

eq

YES

YES

YES

YES

YES

35

ElementWiseExp

Exp

exp

exp

exp

YES

YES

YES

YES

YES

36

ElementWiseFloor

Floor

floor

floor

floor

YES

YES

YES

YES

YES

37

ElementWiseFloorDiv

—

floordiv

—

floor_divide

YES

NO

YES

YES

YES

38

ElementWiseFmod

—

—

—

—

NO

NO

NO

NO

NO

39

ElementWiseGreater

Greater

greater

—

gt

YES

YES

YES

YES

YES

40

ElementWiseGreaterEqual

GreaterOrEqual

greater_equal

—

ge

YES

YES

YES

YES

YES

41

ElementWiseLess

Less

less

—

lt

YES

YES

YES

YES

YES

42

ElementWiseLessEqual

LessOrEqual

less_equal

—

le

YES

YES

YES

YES

YES

43

ElementWiseLog

Log

log

—

log

YES

YES

YES

YES

YES

44

ElementWiseMaximum

Max

maximum

maximum

maximum

YES

YES

YES

YES

YES

45

ElementWiseMinimum

Min

minimum

minimum

minimum

YES

YES

YES

YES

YES

46

ElementWiseMod

—

—

—

—

YES

NO

NO

NO

NO

47

ElementWiseMultiply

Mul

mul

mul

mul

YES

YES

YES

YES

YES

48

ElementWiseNeg

Neg

negative

—

neg

YES

YES

YES

YES

YES

49

ElementWiseNot

Not

logical_not

—

logical_not

YES

YES

NO

YES

NO

50

ElementWiseNotEqual

—

not_equal

—

ne

YES

YES

YES

YES

YES

51

ElementWiseOr

Or

logical_or

—

logical_or

YES

YES

NO

NO

NO

52

ElementWisePower

Pow

pow, square

—

pow

YES

YES

YES

YES

YES

53

ElementWiseRound

Round

round

—

round

YES

YES

YES

YES

YES

54

ElementWiseRsqrt

—

rsqrt

—

rsqrt

YES

YES

YES

YES

YES

55

ElementWiseSelect

Where

where

—

—

YES

YES

YES

YES

YES

56

ElementWiseSign

Sign

—

sign

sign

YES

NO

NO

YES

NO

57

ElementWiseSin

Sin

sin

—

sin

YES

YES

NO

YES

NO

58

ElementWiseSoftplus

Softplus

Softplus

—

Softplus

YES

NO

NO

NO

NO

59

ElementWiseSquaredDifference

—

—

—

—

YES

YES

YES

YES

YES

60

ElementWiseSquareRoot

Sqrt

sqrt

sqrt

sqrt

YES

YES

YES

YES

YES

61

ElementWiseSubtract

Sub

subtract

sub

sub

YES

YES

YES

YES

YES

62

ElementWiseUnary

—

—

—

—

YES

NO

NO

NO

NO

63

ElementWiseXor

Xor

logical_xor

—

logical_xor

YES

YES

NO

NO

NO

64

Elu

Elu

elu

—

—

YES

YES

YES

YES

YES

65

ExpandDims

—

—

—

—

YES

YES

NO

YES

NO

66

ExtractGlimpse

—

extract_glimpse

—

—

YES

NO

YES

YES

YES

67

ExtractPatches

—

extract_patches

—

—

YES

NO

NO

YES

NO

68

FullyConnected

MatMul(limited usecase), Gemm(limited usecase)

dense and tensordot(MatMul)

fully_connected

Linear

YES

YES

YES

YES

YES

69

Gather

Gather

gather(Gather, GatherV2)

—

—

YES

YES

YES

YES

YES

70

GatherElements

GatherElements

—

—

—

YES

NO

NO

YES

NO

71

GatherNd

GatherND

gather_nd

—

—

YES

NO

NO

YES

NO

72

Gelu

INFERRED / Gelu(for onnx version>=1.15)

INFERRED

gelu

GELU

YES

NO

NO

YES

NO

73

GenerateProposals

GenerateProposals(org.pytorch._caffe2) with im_info’s img_scale = 1

—

—

—

YES

NO

YES

NO

YES

74

GridSample

GridSample

—

—

—

YES

NO

NO

YES

NO

75

GroupNorm

—

—

—

GroupNorm

YES

NO

NO

NO

NO

76

Gru

—

—

—

—

NO

NO

NO

NO

NO

77

HardSwish

MATCHED

INFERRED

—

Hardswish

YES

YES

YES

YES

YES

78

HeatMapMaxKeyPoint

—

—

—

—

YES

YES

NO

YES

NO

79

ImageProjectionTransform

—

image.transform(ImageProjectiveTransform)

—

—

YES

NO

YES

YES

YES

80

InstanceNorm

InstanceNormalization

INFERRED

—

InstanceNorm2d

YES

YES

YES

YES

YES

81

L2Norm

LpNormalization

INFERRED

—

—

YES

YES

YES

YES

YES

82

L2Pool2d

LpPool

—

—

—

YES

YES

NO

NO

NO

83

LayerNorm

MATCHED

Layer_Normalization

—

LayerNorm

YES

YES

NO

YES

NO

84

LogSoftmax

LogSoftmax

log_softmax

—

LogSoftmax

YES

YES

NO

YES

NO

85

Lrn

LRN

local_response_normalization

—

—

YES

YES

YES

YES

YES

86

Lstm

LSTM

INFERRED

—

—

YES

YES

YES

YES

YES

87

MatMul

MatMul

matmul(BatchMatMul, BatchMatMulV2)

—

matmul

YES

YES

YES

YES

YES

88

Moments

—

INFERRED

—

—

YES

NO

YES

NO

YES

89

MultiClassNms

nms + gather

nms + gather

—

—

YES

NO

NO

YES

NO

90

NonMaxSuppression

NonMaxSuppression

—

—

—

YES

NO

NO

YES

NO

91

NonZero

NonZero

—

—

—

YES

NO

NO

YES

NO

92

Nv12ToRgb

COMMAND_LINE

COMMAND_LINE

—

—

YES

YES

YES

YES

YES

93

Nv21ToRgb

COMMAND_LINE

COMMAND_LINE

—

—

YES

YES

YES

YES

YES

94

OneHot

OneHot

one_hot

—

—

YES

NO

NO

YES

NO

95

Pack

—

stack(Stack, Pack)

—

stack

YES

YES

YES

YES

YES

96

Pad

Pad

pad(Pad, PadV2)

—

ConstantPad

YES

YES

YES

YES

YES

97

PoolAvg2d

AveragePool, GlobalAveragePool

average_pooling2d

average_pool_2d

AvgPool2d

YES

YES

YES

YES

YES

98

PoolAvg3d

AveragePool, GlobalAveragePool

—

—

—

YES

NO

YES

YES

YES

99

PoolMax2d

MaxPool, GlobalMaxPool

max_pooling2d

max_pool_2d

MaxPool2d

YES

YES

YES

YES

YES

100

PoolMax3d

MaxPool, GlobalMaxPool

—

—

—

YES

NO

YES

NO

YES

101

Prelu

PRelu, LeakyRelu

PReLU

—

PReLU

YES

YES

YES

YES

YES

102

Quantize

QuantizeLinear

—

—

—

YES

NO

YES

YES

YES

103

ReduceMax

ReduceMax

reduce_max

—

max

YES

YES

YES

YES

YES

104

ReduceMean

ReduceMean

reduce_mean

—

mean

YES

YES

YES

YES

YES

105

ReduceMin

ReduceMin

reduce_min

—

min

YES

YES

YES

YES

YES

106

ReduceProd

ReduceProd

reduce_prod

—

prod

YES

YES

NO

NO

NO

107

ReduceSum

ReduceSum

reduce_sum

—

sum

YES

YES

YES

YES

YES

108

Relu

Relu

relu

relu

ReLU

YES

YES

YES

YES

YES

109

Relu1

—

—

—

—

NO

YES

NO

YES

NO

110

Relu6

—

relu6

—

ReLU6

YES

YES

YES

YES

YES

111

ReluMinMax

Clip

INFERRED

relu6

Hardtanh

YES

YES

YES

YES

YES

112

Reshape

Reshape, Flatten, Squeeze, UnSqueeze

reshape, squeeze, expand_dims

reshape

reshape

YES

YES

YES

YES

YES

113

Resize

Resize

—

—

Resize

YES

NO

NO

YES

NO

114

ResizeBilinear

Resize

resize_bilinear

resize_bilinear

UpsamplingBilinear2d

YES

YES

YES

YES

YES

115

ResizeNearestNeighbor

Resize, ResizeNearest(org.pytorch._caffe2)

resize_nearest_neighbor

—

—

YES

YES

YES

YES

YES

116

RoiAlign

RoiAlign, RoIAlign(org.pytorch._caffe2)

—

—

—

YES

YES

YES

YES

YES

117

RoiPooling

MaxRoiPool

—

—

—

YES

NO

YES

NO

YES

118

ScatterElements

ScatterElements, Scatter (deprecated)

—

—

—

YES

NO

NO

YES

NO

119

ScatterNd

ScatterND

—

—

—

YES

NO

NO

YES

NO

120

Shape

—

—

—

—

YES

NO

NO

NO

NO

121

Sigmoid

Sigmoid

sigmoid

—

sigmoid

YES

YES

YES

YES

YES

122

Softmax

Softmax

softmax

softmax

Softmax

YES

YES

YES

YES

YES

123

SpaceToBatch

—

space_to_batch(SpaceToBatchND)

—

—

YES

YES

YES

YES

YES

124

SpaceToDepth

SpaceToDepth

space_to_depth

—

—

YES

YES

YES

YES

YES

125

Split

Split

split(Split, SplitV)

—

split

YES

YES

YES

YES

YES

126

Squeeze

—

—

—

—

YES

YES

YES

YES

YES

127

StridedSlice

Slice

strided_slice

slice

—

YES

YES

YES

YES

YES

128

Tanh

Tanh

tanh

tanh

tanh

YES

YES

YES

YES

YES

129

Tile

Tile

tile

—

—

YES

YES

YES

YES

YES

130

TopK

TopK

top_k

—

topk

YES

YES

NO

YES

NO

131

Transpose

Transpose

transpose

—

transpose

YES

YES

YES

YES

YES

132

TransposeConv2d

ConvTranspose

conv2d_transpose

transpose_conv

ConvTranspose2d

YES

YES

YES

YES

YES

133

TransposeConv3d

ConvTranspose

—

transpose_conv3d

—

YES

NO

NO

YES

NO

134

UnPack

—

unstack

—

unbind

YES

YES

YES

YES

YES

Note : AIP Runtime supports all layers supported by the DSP runtime, as layers not supported by HTA run on HVX.