Understand Inference Backend Runtimes - Understand Inference Backend Runtimes - 6.3 English - XD056

Vitis Video Analytics SDK (VVAS) 6.3 User Guide (XD056)

Document_ID
XD056
Release_Date
2026-09-24
Version
6.3 English

vvas_xinfer supports two inference runtime families. The inference-backend-runtime field selects the family; for ONNX Runtime, the onnxrt-ep field selects whether inference runs on the NPU (Vitis AI EP) or on the CPU (CPU EP). If inference-backend-runtime is not set, vvas_xinfer defaults to onnxrt. If onnxrt-ep is not set, the plugin defaults to the CPU EP.

Table 40 Inference execution paths

Runtime configuration

NPU use

Notes

vart (vart-config)

Yes

Direct NPU path with the lowest runtime overhead. Recommended for best throughput when a VART .rai model is available.

onnxrt + Vitis AI EP (onnxrt-ep: vitisai)

Yes

Hardware-accelerated ONNX Runtime path. Valid accelerated option with additional ONNX Runtime framework and tensor-format conversion overhead compared with direct VART.

onnxrt + CPU EP (onnxrt-ep: cpu or omitted)

No

Software fallback path. Does not use the NPU and is expected to be slower for models compiled for NPU deployment.

For best throughput, use vart when a VART model is available. onnxrt with Vitis AI EP is also hardware accelerated and is appropriate when the deployment artifact is an ONNX model. The main performance risk is accidentally using the CPU EP (for example, omitting onnxrt-ep or vitisai-ep-config), not choosing onnxrt itself.

Example vart configuration:

{
  "infer-config": {
    "inference-backend-runtime": "vart",
    "vart-config": {
      "vart-model-path": "/etc/vai/models/ResNet50/ResNet50.rai"
    }
  }
}

Example onnxrt configuration with Vitis AI EP:

{
  "infer-config": {
    "inference-backend-runtime": "onnxrt",
    "onnxrt-config": {
      "onnx-model-path": "/etc/vai/models/ResNet50_INT8/ResNet50_INT8.onnx",
      "input-tensor-layout": "NCHW",
      "onnxrt-ep": "vitisai",
      "vitisai-ep-config": {
        "config-file-path": "/etc/vai/models/ResNet50_INT8/vitisai_config.json",
        "cache-dir": "/etc/vai/models",
        "cache-key": "ResNet50_INT8"
      }
    }
  }
}

Check the backend field in the profiler JSON to verify the selected runtime. For ONNX Runtime, the profiler reports onnxruntime:vitisai-ep when the Vitis AI EP is active and onnxruntime:cpu-ep when the CPU EP is active.

Note

When a compiled ONNX model is only partially offloaded to the NPU, ONNX Runtime can execute supported subgraphs through the Vitis AI EP and unsupported portions through CPU EP in the same session. If measured throughput is lower than expected, review compilation offload coverage and confirm the profiler does not show unintended CPU EP use.