ONNX Operators

ONNX Operators#

AMD Vitis™ AI 6.2 supports all operators up to ONNX opset 20 with partial support for opset 21 and 22. Operators in Vitis AI 6.2 fall into three categories:

  1. NPU-supported operators (Supported Operators) - These operators are fully accelerated on the NPU. For optimal performance, use NPU-supported operators whenever possible.

  2. CPU-fallback operators (Operators running in CPU) - Not supported by NPU but supported by CPU. When used in a model, these operators cause the model to be partitioned into NPU and CPU subgraphs, with the CPU subgraph executed on the CPU. This can lead to performance degradation due to data transfer overhead between NPU and CPU.

  3. CPU-only operators (Unsupported Operators) - Not supported by NPU, causing full model fallback to CPU (includes operators added after opset 22, dynamic shapes, and other constraints). Using CPU-only operators results in the entire model being executed on the CPU, which significantly degrades performance. It is recommended to avoid using CPU-only operators in models intended for deployment on Vitis AI.