4. Supported Operators

TIDL accelerates the operators listed in this chapter on the C7™ NPU. Operators not listed here fall back to TVM-generated C7™ NPU code (c7x_codegen=1) or Arm (c7x_codegen=0).

ONNX 1.14.0 / ONNX Runtime 1.15.0 (OPSET-19, IR-8)

For detailed per-operator test reports including attribute and shape coverage, see the edgeai-tidl-tools operator reports.

4.1. Convolution

ONNX Operator

TIDL Layer

Key Constraints

Conv

TIDL_ConvolutionLayer

Stride must match horizontally and vertically. 3x3 kernel with stride 3 not supported on AM62A/AM67A. Kernel >7 with stride 2 not supported. Depthwise supported for 1x3s1, 3x3s1/s2, 5x5s1/s2, 7x7s1/s2. Stride 4 only with 11x11 kernel.

ConvTranspose

TIDL_Deconv2DLayer

Supported kernels: 4x4, 3x3, 2x2 with 2x2 stride. 16-bit not supported on AM62A/AM67A. Default dilation (1,1) only.

DeformConv

TIDL_DeformableConvLayer

3x3 stride-1 filter only.

4.2. Pooling

ONNX Operator

TIDL Layer

Key Constraints

AveragePool / GlobalAveragePool / MaxPool

TIDL_PoolingLayer

GlobalAveragePool: plane size (H×W) must be ≤ 1024. Validated kernel sizes: 3x3, 2x2, 1x1 with stride 1 or 2 (except 2x2 stride 1). Default dilation (1,1) only.

4.3. Normalization

ONNX Operator

TIDL Layer

Key Constraints

BatchNormalization

TIDL_BatchNormLayer

training_mode=1 not supported. Scale, bias, mean, and variance must be constant 1-D tensors.

InstanceNormalization

TIDL_InstanceNormLayer

Input must be ≥ 3D. Scale and bias must be 1-D channel vectors.

LayerNormalization

TIDL_LayerNormLayer

Width axis only. Scale and bias must be [1,N] or [N].

4.4. Activations

ONNX Operator

TIDL Layer

Key Constraints

Relu

TIDL_ReLULayer

PRelu

TIDL_PReLULayer

Variable slope not supported. Slope must be broadcast-able to the channel dimension.

LeakyRelu

TIDL_LeakyReluLayer

Sigmoid / Logistic

TIDL_SigmoidLayer

Tanh

TIDL_TanhLayer

HardSigmoid

TIDL_HardSigmoidLayer

HardSwish

TIDL_HardSwishLayer

Elu

TIDL_ELULayer

Mish

TIDL_MishLayer

Clip

TIDL_ClipLayer

min ≤ 0 and max > 0 only.

Softmax

TIDL_SoftMaxLayer

Width and height axes only.

4.5. Element-wise Arithmetic

ONNX Operator

TIDL Layer

Key Constraints

Add / Sub / Mul / Div / Max / Min / Sum

TIDL_EltWiseLayer

Two inputs only. Inputs must have matching dimensions or be broadcast-able.

Abs

TIDL_AbsLayer

Neg

TIDL_NegLayer

Sqrt

TIDL_SqrtLayer

Pow

TIDL_PowLayer

Exponent must be a constant scalar tensor.

Exp

TIDL_ExpLayer

Log

TIDL_LogLayer

Floor

TIDL_FloorLayer

4.6. Trigonometric

ONNX Operator

TIDL Layer

Sin

TIDL_SinLayer

Cos

TIDL_CosLayer

Tan

TIDL_TanLayer

Asin

TIDL_AsinLayer

Acos

TIDL_AcosLayer

Atan

TIDL_AtanLayer

Sinh

TIDL_SinhLayer

Cosh

TIDL_CoshLayer

Asinh

TIDL_AsinhLayer

4.7. Linear and Matrix

ONNX Operator

TIDL Layer

Key Constraints

Gemm / MatMul

TIDL_InnerProductLayer

Gemm: transA=0, alpha=1.0, beta=1.0. Bias must be [1,N] or [N]. MatMul with signed/unsigned mixed inputs not supported on TDA4VM.

TopK

TIDL_TopKLayer

sorted=0 not supported. K must be a model initializer. Width and height axes only.

4.8. Shape Manipulation

ONNX Operator

TIDL Layer

Key Constraints

Reshape

TIDL_ReshapeLayer

Variable shape not supported. Input and output volume must match.

Flatten

TIDL_FlattenLayer

Squeeze

TIDL_SqueezeLayer

Unsqueeze

TIDL_UnsqueezeLayer

Output dimensions must be ≤ 6.

Transpose

TIDL_TransposeLayer

For >4D inputs, permutations mapping the width dimension to output position 0 or 1 are not supported.

Concat

TIDL_ConcatLayer

Axis values -3, -2, -1 only. Batch dimension not supported.

Slice / Split

TIDL_SliceLayer

4D input only. Batch size=1. Non-singular strides only supported as part of the Patch Merging fusion pattern.

Pad

TIDL_PadLayer

Constant pad mode with constant_value=0 only. Width/height axes only.

Expand

TIDL_ExpandLayer

Shape tensor must be constant.

4.9. Spatial and Image

ONNX Operator

TIDL Layer

Key Constraints

Upsample / Resize

TIDL_ResizeLayer

Modes: nearest or linear. Width and height axes only. Scales < 1 not supported. Width and height scales must match. Power-of-2 scales only.

DepthToSpace

TIDL_DepthToSpaceLayer

4D input. Channel depth must be multiple of blocksize². DCR and CRD modes supported.

SpaceToDepth

TIDL_SpaceToDepthLayer

4D input. H and W must be multiples of blocksize.

GridSample

TIDL_GridSampleLayer

Nearest and bilinear modes. Zero padding only. 2D grid only. Nearest-neighbour rounding may differ from ONNX reference.

4.10. Reduction

ONNX Operator

TIDL Layer

Key Constraints

ReduceMean

TIDL_ReduceMeanLayer

ReduceSum

TIDL_ReduceSumLayer

ReduceMin / ReduceMax

TIDL_ReduceLayer

Height axis only. keepdims=1 only.

ArgMin / ArgMax

TIDL_ArgOpLayer

keepdims=1 only. axis=-3 only.

4.11. Gather and Scatter

ONNX Operator

TIDL Layer

Key Constraints

Gather

TIDL_GatherLayer

1D indices only. Input rank must be > 1. Data cannot be constant; only indices can be constant.

ScatterND / ScatterElements

TIDL_ScatterElementsLayer

ScatterElements: ‘none’ reduction only. ScatterND: ‘mul’ reduction not supported. Scatter along width axis only. Input data must be a zero tensor.

4.12. Quantization

ONNX Operator

TIDL Layer

Key Constraints

Cast

TIDL_CastLayer

Only at terminal nodes (network input/output).

DequantizeLinear

TIDL_DequantizeLayer

axis=1 only. QDQ models only.

QuantizeLinear

TIDL_QuantizeLayer

axis=1 only. QDQ models only.

4.13. Fusion Patterns Only

The following operators are not supported in isolation but are accelerated when they appear as part of a recognised fusion pattern.

ONNX Operator

TIDL Layer

Fusion Pattern

Erf / Identity

TIDL_IdentityLayer

GELU activation

DropOut

TIDL_DropOutLayer

Not supported standalone