Supported ONNX Operators

June 22, 2026 ยท View on GitHub

TensorRT 11.1 supports operators in the inclusive range of opset 9 to opset 24. Latest information of ONNX operators can be found here. More details and limitations are documented in the chart below.

TensorRT supports the following ONNX data types: DOUBLE, FLOAT32, FLOAT16, BFLOAT16, FP8, FP4, INT32, INT64, INT8, INT4, UINT8, and BOOL

Note: There is limited support for DOUBLE type. TensorRT will attempt to cast DOUBLE down to FLOAT, clamping values to +-FLT_MAX if necessary.

Note: INT8, INT4, FP8 and FP4 are treated as Quantized Types in TensorRT, where support is available only through quantization from a floating-point type with higher precision. See our quantization guide for more information.

Note: UINT8 is only supported as network input or output tensor types.

Operator Support Matrix

OperatorSupportedSupported TypesRestrictions
AbsYFP32, FP16, BF16, INT32, INT64
AcosYFP32, FP16, BF16
AcoshYFP32, FP16, BF16
AddYFP32, FP16, BF16, INT32, INT64
AffineGridN
AndYBOOL
ArgMaxYFP32, FP16, BF16, INT32, INT64
ArgMinYFP32, FP16, BF16, INT32, INT64
AsinYFP32, FP16, BF16
AsinhYFP32, FP16, BF16
AtanYFP32, FP16, BF16
AtanhYFP32, FP16, BF16
AttentionYFP32, FP16, BF16, INT8, FP8Q, K, V and attn_mask must be 4D. past_key, past_value and nonpad_kv_seqlen inputs are unsupported. present_key, present_value and qk_matmul_output outputs are unsupported. qk_matmul_output_mode and softcap attributes are unsupported. q_num_heads and kv_num_heads attributes are supported via being specified as the second dimension of Q and K/V's shapes respectively.
AveragePoolYFP32, FP16, BF162D or 3D Pooling only. dilations must be empty or all ones
BatchNormalizationYFP32, FP16, BF16
BernoulliN
BitShiftN
BitwiseAndN
BitwiseNotN
BitwiseOrN
BitwiseXorN
BlackmanWindowYFP32, FP16
CastYFP32, FP16, BF16, INT32, INT64, UINT8, BOOL
CastLikeYFP32, FP16, BF16, INT32, INT64, UINT8, BOOL
CeilYFP32, FP16, BF16
Col2ImN
CeluYFP32, FP16, BF16
CenterCropPadN
ClipYFP32, FP16, BF16
CompressN
ConcatYFP32, FP16, BF16, INT32, INT64, BOOL
ConcatFromSequenceN
ConstantYFP32, FP16, BF16, FP8, FP4, INT4, INT32, INT64, BOOLsparse_value, value_string, and value_strings attributes are unsupported.
ConstantOfShapeYFP32, FP16, BF16, FP8, FP4, INT4, INT32, INT64, BOOL
ConvYFP32, FP16, BF16
ConvIntegerN
ConvTransposeYFP32, FP16, BF16
CosYFP32, FP16, BF16
CoshYFP32, FP16, BF16
CumSumYFP32, FP16, BF16axis must be a build-time constant
DFTN
DeformConvYFP32, FP16input must have 1D or 2D spatial dimensions. pads for the beginning and end along each spatial axis must be the same
DepthToSpaceYFP32, FP16, BF16, INT32, INT64
DequantizeLinearYINT8, FP8, FP4, INT4x_zero_point must be zero
DetN
DivYFP32, FP16, BF16, INT32, INT64
DropoutYFP32, FP16, BF16is_training must be an initializer and evaluate to False.
DynamicQuantizeLinearNNot supported. TensorRT's IDynamicQuantize can be composed from ONNX operators in the form of a model local function.
EinsumYFP32, FP16, BF16
EluYFP32, FP16, BF16
EqualYFP32, FP16, BF16, INT32, INT64
ErfYFP32, FP16, BF16
ExpYFP32, FP16, BF16
ExpandYFP32, FP16, BF16, INT32, INT64, BOOL
EyeLikeYFP32, FP16, BF16, INT32, INT64, BOOLinput must have static dimensions
FlattenYFP32, FP16, BF16, INT32, INT64, BOOL
FloorYFP32, FP16, BF16
GatherYFP32, FP16, BF16, INT32, INT64, BOOL
GatherElementsYFP32, FP16, BF16, INT32, INT64, BOOL
GatherNDYFP32, FP16, BF16, INT32, INT64, BOOL
GeluYFP32, FP16, BF16, INT8, INT32, INT64
GemmYFP32, FP16, BF16
GlobalAveragePoolYFP32, FP16, BF16
GlobalLpPoolYFP32, FP16, BF16
GlobalMaxPoolYFP32, FP16, BF16
GreaterYFP32, FP16, BF16, INT32, INT64
GreaterOrEqualYFP32, FP16, BF16, INT32, INT64
GridSampleYFP32, FP16Input must be 4D input.
GroupNormalizationYFP32, FP16, BF16
GRUYFP32, FP16, BF16For bidirectional GRUs, activation functions must be the same for both the forward and reverse pass
HammingWindowYFP32, FP16
HannWindowYFP32, FP16
HardSigmoidYFP32, FP16, BF16
HardSwishYFP32, FP16, BF16
HardmaxYFP32, FP16, BF16axis dimension of input must be a build-time constant
IdentityYFP32, FP16, BF16, INT32, INT64, BOOL
IfYFP32, FP16, BF16, INT32, INT64, BOOLOutput tensors of the two conditional branches must have the same rank and must have different names
ImageScalerYFP32, FP16, BF16
ImageDecoderN
InstanceNormalizationYFP32, FP16, BF16
IsInfYFP32, FP16, BF16
IsNaNYFP32, FP16, BF16, INT32, INT64
LayerNormalizationYFP32, FP16, BF16Only the first output Y is supported.
LeakyReluYFP32, FP16, BF16
LessYFP32, FP16, BF16, INT32, INT64
LessOrEqualYFP32, FP16, BF16, INT32, INT64
LogYFP32, FP16, BF16
LogSoftmaxYFP32, FP16, BF16
LoopYFP32, FP16, BF16, INT32, INT64, BOOLScan output length cannot be dynamic. The shape of Loop carried dependencies must be the same across all loop iterations.
LRNYFP32, FP16, BF16
LSTMYFP32, FP16, BF16For bidirectional LSTMs, activation functions must be the same for both the forward and reverse pass. input_forget attribute must be 0. layout attribute must be 0.
LpNormalizationYFP32, FP16, BF16
LpPoolYFP32, FP16, BF16dilations must be empty or all ones
MatMulYFP32, FP16, BF16
MatMulIntegerN
MaxYFP32, FP16, BF16, INT32, INT64
MaxPoolYFP32, FP16, BF162D or 3D pooling only. Indices output tensor unsupported. dilations must be empty or all ones
MaxRoiPoolN
MaxUnpoolN
MeanYFP32, FP16, BF16, FP8, INT32, INT64
MeanVarianceNormalizationYFP32, FP16, BF16
MelWeightMatrixN
MinYFP32, FP16, BF16, INT32, INT64
MishYFP32, FP16
ModYFP32, FP16, BF16, INT32, INT64
MulYFP32, FP16, BF16, INT32, INT64
MultinomialN
NegYFP32, FP16, BF16, INT32, INT64
NegativeLogLikelihoodLossN
NonMaxSuppressionYFP32, FP16
NonZeroYFP32, FP16
NotYBOOL
OneHotYFP32, FP16, BF16, INT32, INT64, BOOLdepth must be a build-time constant
OptionalN
OptionalGetElementN
OptionalHasElementN
OrYBOOL
PadYFP32, FP16, BF16, INT32, INT64
ParametricSoftplusYFP32, FP16, BF16
PowYFP32, FP16, BF16, INT32, INT64
PReluYFP32, FP16, BF16
QLinearConvN
QLinearMatMulN
QuantizeLinearYFP32, FP16, BF16y_zero_point must be 0
RandomNormalYFP32, FP16, BF16seed value is ignored by TensorRT
RandomNormalLikeYFP32, FP16, BF16seed value is ignored by TensorRT
RandomUniformYFP32, FP16, BF16seed value is ignored by TensorRT
RandomUniformLikeYFP32, FP16, BF16seed value is ignored by TensorRT
RangeYFP32, FP16, BF16, INT32, INT64
ReciprocalYFP32, FP16, BF16
ReduceL1YFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceL2YFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceLogSumYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceLogSumExpYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceMaxYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceMeanYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceMinYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceProdYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceSumYFP32, FP16, BF16, INT32, INT64axes must be an initializer
ReduceSumSquareYFP32, FP16, BF16, INT32, INT64axes must be an initializer
RegexFullMatchN
ReluYFP32, FP16, BF16, INT32, INT64
ReshapeYFP32, FP16, BF16, INT32, INT64, BOOL
ResizeYFP32, FP16, BF16Supported resize transformation modes: half_pixel, pytorch_half_pixel, tf_half_pixel_for_nn, asymmetric, and align_corners.
Supported resize modes: nearest, linear.
Supported nearest modes: floor, ceil, round_prefer_floor, round_prefer_ceil.
Supported aspect ratio policy: stretch.
When scales is a tensor input, axes must be an iota vector of length rank(input).
Antialiasing is not supported.
ReverseSequenceYFP32, FP16, BF16, INT32, INT64, BOOL
RMSNormalizationYFP32, FP16, BF16
RNNYFP32, FP16, BF16For bidirectional RNNs, activation functions must be the same for both the forward and reverse pass
RoiAlignYFP32, FP16
RotaryEmbeddingYFP32, FP16, BF16position_ids must be INT64
RoundYFP32, FP16, BF16
STFTYFP32frame_step and window must be an initializer. Input must be real-valued.
ScaledTanhYFP32, FP16, BF16
ScanYFP32, FP16, BF16
ScatterYFP32, FP16, BF16, INT32, INT64
ScatterElementsYFP32, FP16, BF16, INT32, INT64
ScatterNDYFP32, FP16, BF16, INT32, INT64reduction other than none is not supported
SeluYFP32, FP16, BF16,
SequenceAtN
SequenceConstructN
SequenceEmptyN
SequenceEraseN
SequenceInsertN
SequenceLengthN
SequenceMapN
ShapeYFP32, FP16, BF16, INT32, INT64, BOOL
ShrinkYFP32, FP16, BF16, INT32, INT64
SigmoidYFP32, FP16, BF16
SignYFP32, FP16, BF16, INT32, INT64
SinYFP32, FP16, BF16
SinhYFP32, FP16, BF16
SizeYFP32, FP16, BF16, INT32, INT64, BOOL
SliceYFP32, FP16, BF16, INT32, INT64, BOOL
SoftmaxYFP32, FP16, BF16
SoftmaxCrossEntropyLossN
SoftplusYFP32, FP16, BF16
SoftsignYFP32, FP16, BF16
SpaceToDepthYFP32, FP16, BF16, INT32, INT64
SplitYFP32, FP16, BF16, INT32, INT64, BOOL
SplitToSequenceN
SqrtYFP32, FP16, BF16
SqueezeYFP32, FP16, BF16, INT32, INT64, BOOLaxes must be resolvable to a constant.
StringConcatN
StringNormalizerN
StringSplitN
SubYFP32, FP16, BF16, INT32, INT64
SumYFP32, FP16, BF16, INT32, INT64
SwishYFP32, FP16, BF16
TanYFP32, FP16, BF16
TanhYFP32, FP16, BF16
TensorScatterYFP32, FP16, BF16, INT32past_cache and update must be 4D. axis must be -2.
TfIdfVectorizerN
ThresholdedReluYFP32, FP16, BF16
TileYFP32, FP16, BF16, INT32, INT64, BOOL
TopKYFP32, FP16, BF16, INT32, INT64sorted must be 1. K input must be less than 3840.
TransposeYFP32, FP16, BF16, INT32, INT64, BOOL
TriluYFP32, FP16, BF16, INT32, INT64, BOOL
UniqueN
UnsqueezeYFP32, FP16, BF16, INT32, INT64, BOOLaxes must be resolvable to a constant.
UpsampleYFP32, FP16, BF16
WhereYFP32, FP16, BF16, INT32, INT64, BOOL
XorYBOOL

TensorRT Custom Operators

For TensorRT custom operator specifications, see TRT_custom_ops.md.