# Supported Network Layers

Supported Network Layers

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

See [Limitations](https://docs.qualcomm.com/doc/80-63442-10/topic/limitations.html) 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](https://docs.qualcomm.com/doc/80-63442-10/topic/general_supported_onnx_ops.html#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 | Converters Equivalent | Converters Equivalent | Converters Equivalent | Runtime Support | Runtime Support | Runtime Support | Runtime Support | 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&gt;=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.

Last Published: Jun 04, 2026

[Previous Topic
Network Models](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/usergroup1.md) [Next Topic
Supported ONNX Ops](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/general_supported_onnx_ops.md)

Source: [https://docs.qualcomm.com/doc/80-63442-10/topic/network_layers.html](https://docs.qualcomm.com/doc/80-63442-10/topic/network_layers.html)