8. Supported operators
PopART is compatible with ONNX versions up to and including 1.6. (see ONNX Versioning). This section lists the supported operators. Section 8.4, Converting ONNX models with opset versions not supported by PopART describes how to convert an ONNX model that uses an opset that is not supported by PopART.
The Graphcore (ai.graphcore) and ONNX (ai.onnx) operators, and versions supported, are listed below. See ONNX Operators for more information.
Note
The limitations of these operators are listed in Section 8.3, Limitations.
8.1. Domain: ai.onnx
Abs-6
Add-6
Add-7
And-1
And-7
ArgMax-1
ArgMax-11
ArgMin-1
ArgMin-11
Asin-7
Atan-7
AveragePool-1
AveragePool-7
AveragePool-10
AveragePool-11
BatchNormalization-6
BatchNormalization-7
BatchNormalization-9
Cast-6
Cast-9
Ceil-1
Ceil-6
Clip-6
Clip-11
Concat-1
Concat-4
Concat-11
Constant-9
Constant-11
ConstantOfShape-9
Conv-1
Conv-11
ConvTranspose-1
ConvTranspose-11
Cos-7
Cosh-9
CumSum-11
Div-6
Div-7
Dropout-6
Dropout-7
Dropout-10
Elu-1
Elu-6
Equal-1
Equal-7
Equal-11
Erf-9
Exp-6
Expand-8
Flatten-1
Flatten-9
Flatten-11
Floor-1
Floor-6
GRU-3
GRU-7
Gather-1
Gather-11
GlobalAveragePool-1
GlobalMaxPool-1
Greater-1
Greater-7
Greater-9
HardSigmoid-1
HardSigmoid-6
Identity-1
If-1
If-11
InstanceNormalization-6
IsInf-10
IsNaN-9
LRN-1
LSTM-1
LSTM-7
LeakyRelu-1
LeakyRelu-6
Less-7
Less-9
Log-6
LogSoftmax-1
LogSoftmax-11
Loop-1
Loop-11
MatMul-1
MatMul-9
Max-6
Max-8
MaxPool-1
MaxPool-8
MaxPool-10
MaxPool-11
Mean-6
Mean-8
Min-6
Min-8
Mul-6
Mul-7
Neg-6
Not-1
OneHot-9
OneHot-11
Or-1
Or-7
PRelu-9
Pad-2
Pad-11
Pow-1
Pow-7
RNN-7
RandomNormal-1
RandomNormalLike-1
RandomUniform-1
RandomUniformLike-1
Reciprocal-6
ReduceL1-1
ReduceL1-11
ReduceL2-1
ReduceL2-11
ReduceLogSum-1
ReduceLogSum-11
ReduceLogSumExp-1
ReduceLogSumExp-11
ReduceMax-1
ReduceMax-11
ReduceMean-1
ReduceMean-11
ReduceMin-1
ReduceMin-11
ReduceProd-1
ReduceProd-11
ReduceSum-1
ReduceSum-11
ReduceSumSquare-1
ReduceSumSquare-11
Relu-6
Reshape-5
Resize-10
Resize-11
RoiAlign-10
Round-11
Scan-9
Scan-11
Scatter-9
Scatter-11
ScatterElements-11
Selu-1
Selu-6
Shape-1
Shrink-9
Sigmoid-6
Sign-9
Sin-7
Sinh-9
Slice-1
Slice-10
Slice-11
Softmax-1
Softmax-11
Softplus-1
Softsign-1
Split-2
Split-11
Sqrt-6
Squeeze-1
Squeeze-11
Sub-6
Sub-7
Sum-6
Sum-8
Tanh-6
ThresholdedRelu-10
Tile-1
Tile-6
TopK-1
TopK-10
TopK-11
Transpose-1
Unsqueeze-1
Unsqueeze-11
Upsample-9
Where-9
8.2. Domain: ai.graphcore
Abort-1
AddLhsInplace-1
AllReduce-1
Atan2-1
AutoLossScaleProxy-1
BatchNormalization-1
BinaryConstScalar-1
BitwiseAnd-1
BitwiseNot-1
BitwiseOr-1
BitwiseXnor-1
BitwiseXor-1
Bucketize-1
Call-1
CastThenPow2Scale-1
ConvFlipWeights-1
CopyVarUpdate-1
Ctc-1
CtcBeamSearchDecoder-1
Detach-1
DynamicAdd-1
DynamicSlice-1
DynamicUpdate-1
DynamicZero-1
Expm1-1
Fmod-1
Gelu-1
GeluErf-1
GroupNormalization-1
GroupedGather-1
Histogram-1
HostLoad-1
HostStore-1
IdentityLoss-1
IncrementMod-1
Init-1
L1-1
LSTM-1
Log1p-1
LossScaleUpdate-1
MultiConv-1
NearbyInt-1
Nll-1
Nop-1
NormalizeImage-1
PackedDataBlock-1
Pow2ScaleThenCast-1
PrintTensor-1
ReduceMedian-1
RemoteCodeLoad-1
RemoteLoad-1
RemoteLoadInplace-1
RemoteStore-1
ReplicatedAllGather-1
ReplicatedAllReduce-1
ReplicatedAllReduceInplace-1
ReplicatedReduceScatter-1
Reshape-1
Reverse-1
Round-1
Scale-1
ScaledAdd-1
ScatterReduce-1
SequenceSlice-1
ShapedDropout-1
Slice-1
Sort-1
SplineBasis-1
SplineWeighting-1
Square-1
Subsample-1
Swish-1
TensorRemap-1
UnaryZeroGrad-1
Zeros-1
ZerosLike-1
8.3. Limitations
Warning
The information provided in this section is incomplete.
8.3.1. Limitations of ai.onnx operators
Clip-11: Does not support variable min/max input parameters. The parameters must contain a value at model initialisation and any run-time changes to these parameters will not be read by the model.
8.3.2. Limitations of ai.graphcore operators
There are no known limitations.
8.4. Converting ONNX models with opset versions not supported by PopART
If you have an ONNX model that uses an opset version that is not supported by PopART then you can convert the model using the ONNX Version Converter. There are both Python and C++ APIs.
You will use the converter when your ONNX model uses an opset different to those listed in Section 8.1, Domain: ai.onnx and the target opset will be a version supported by PopART.
Note
Currently, the highest opset PopART supports is 11. If your model uses opsets higher than 11, then you will have to use the ONNX Version Converter.