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 |
|---|---|---|
|
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. |
|
TIDL_Deconv2DLayer |
Supported kernels: 4x4, 3x3, 2x2 with 2x2 stride. 16-bit not supported on AM62A/AM67A. Default dilation (1,1) only. |
|
TIDL_DeformableConvLayer |
3x3 stride-1 filter only. |
4.2. Pooling¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
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 |
|---|---|---|
|
TIDL_BatchNormLayer |
training_mode=1 not supported. Scale, bias, mean, and variance must be constant 1-D tensors. |
|
TIDL_InstanceNormLayer |
Input must be ≥ 3D. Scale and bias must be 1-D channel vectors. |
|
TIDL_LayerNormLayer |
Width axis only. Scale and bias must be [1,N] or [N]. |
4.4. Activations¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
TIDL_ReLULayer |
|
|
TIDL_PReLULayer |
Variable slope not supported. Slope must be broadcast-able to the channel dimension. |
|
TIDL_LeakyReluLayer |
|
|
TIDL_SigmoidLayer |
|
|
TIDL_TanhLayer |
|
|
TIDL_HardSigmoidLayer |
|
|
TIDL_HardSwishLayer |
|
|
TIDL_ELULayer |
|
|
TIDL_MishLayer |
|
|
TIDL_ClipLayer |
min ≤ 0 and max > 0 only. |
|
TIDL_SoftMaxLayer |
Width and height axes only. |
4.5. Element-wise Arithmetic¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
TIDL_EltWiseLayer |
Two inputs only. Inputs must have matching dimensions or be broadcast-able. |
|
TIDL_AbsLayer |
|
|
TIDL_NegLayer |
|
|
TIDL_SqrtLayer |
|
|
TIDL_PowLayer |
Exponent must be a constant scalar tensor. |
|
TIDL_ExpLayer |
|
|
TIDL_LogLayer |
|
|
TIDL_FloorLayer |
4.6. Trigonometric¶
ONNX Operator |
TIDL Layer |
|---|---|
|
TIDL_SinLayer |
|
TIDL_CosLayer |
|
TIDL_TanLayer |
|
TIDL_AsinLayer |
|
TIDL_AcosLayer |
|
TIDL_AtanLayer |
|
TIDL_SinhLayer |
|
TIDL_CoshLayer |
|
TIDL_AsinhLayer |
4.7. Linear and Matrix¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
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. |
|
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 |
|---|---|---|
|
TIDL_ReshapeLayer |
Variable shape not supported. Input and output volume must match. |
|
TIDL_FlattenLayer |
|
|
TIDL_SqueezeLayer |
|
|
TIDL_UnsqueezeLayer |
Output dimensions must be ≤ 6. |
|
TIDL_TransposeLayer |
For >4D inputs, permutations mapping the width dimension to output position 0 or 1 are not supported. |
|
TIDL_ConcatLayer |
Axis values -3, -2, -1 only. Batch dimension not supported. |
|
TIDL_SliceLayer |
4D input only. Batch size=1. Non-singular strides only supported as part of the Patch Merging fusion pattern. |
|
TIDL_PadLayer |
Constant pad mode with constant_value=0 only. Width/height axes only. |
|
TIDL_ExpandLayer |
Shape tensor must be constant. |
4.9. Spatial and Image¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
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. |
|
TIDL_DepthToSpaceLayer |
4D input. Channel depth must be multiple of blocksize². DCR and CRD modes supported. |
|
TIDL_SpaceToDepthLayer |
4D input. H and W must be multiples of blocksize. |
|
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 |
|---|---|---|
|
TIDL_ReduceMeanLayer |
|
|
TIDL_ReduceSumLayer |
|
|
TIDL_ReduceLayer |
Height axis only. keepdims=1 only. |
|
TIDL_ArgOpLayer |
keepdims=1 only. axis=-3 only. |
4.11. Gather and Scatter¶
ONNX Operator |
TIDL Layer |
Key Constraints |
|---|---|---|
|
TIDL_GatherLayer |
1D indices only. Input rank must be > 1. Data cannot be constant; only indices can be constant. |
|
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 |
|---|---|---|
|
TIDL_CastLayer |
Only at terminal nodes (network input/output). |
|
TIDL_DequantizeLayer |
axis=1 only. QDQ models only. |
|
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 |
|---|---|---|
|
TIDL_IdentityLayer |
GELU activation |
|
TIDL_DropOutLayer |
Not supported standalone |