OpenVINO Version
2026.0.0.dev20251223
Operating System
Ubuntu 20.04 (LTS)
Device used for inference
CPU
Framework
None
Model used
No response
Issue description
like this model
On the same legal ONNX model (including AveragePool, opset=18), ONNX Runtime can perform inference normally, but OpenVINO fails to compile on both CPU and GPU, with different errors reported:
CPU:Supported primitive descriptors list is empty for node: node_avg_pool2d type: Pooling
GPU:Could not find a suitable kernel for result:v0_0/sink_port_0 params raw string: F32_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0;F16_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0
Step-by-step reproduction
Download the model and run the following code to obtain the results.
model.zip
from __future__ import annotations
import argparse
import pickle
import sys
import traceback
from pathlib import Path
from typing import Any, Dict
def _load_oracle_inputs(oracle_path: Path) -> Dict[str, Any]:
with oracle_path.open("rb") as f:
obj = pickle.load(f)
if isinstance(obj, dict) and "input" in obj and isinstance(obj["input"], dict):
return obj["input"]
if isinstance(obj, dict):
return obj
raise TypeError(f"Unsupported oracle.pkl format: {type(obj)}")
def main() -> int:
ap = argparse.ArgumentParser()
ap.add_argument("--model", type=Path, default=Path(__file__).with_name("model.onnx"))
ap.add_argument("--oracle", type=Path, default=Path(__file__).with_name("oracle.pkl"))
ap.add_argument("--device", type=str, default="CPU")
args = ap.parse_args()
model_path = args.model.resolve()
oracle_path = args.oracle.resolve()
print(f"model: {model_path}")
print(f"oracle: {oracle_path}")
feed = _load_oracle_inputs(oracle_path)
# ORT
print("\n== ORT ==")
try:
import onnxruntime as ort
sess = ort.InferenceSession(str(model_path), providers=["CUDAExecutionProvider"])
print("ORT inputs:", [(i.name, i.type, i.shape) for i in sess.get_inputs()])
print("ORT outputs:", [(o.name, o.type, o.shape) for o in sess.get_outputs()])
outs = sess.run(None, feed)
for oinfo, val in zip(sess.get_outputs(), outs):
print(f"{oinfo.name}: {val.dtype} {val.shape} {val}")
except Exception:
print("ORT failed unexpectedly (full traceback):", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
return 2
print("\n== OpenVINO ==")
try:
import numpy as np
import openvino as ov
core = ov.Core()
print(f"OpenVINO version: {getattr(ov, '__version__', 'unknown')}")
print(f"Compile device: {args.device}")
compiled = core.compile_model(str(model_path), args.device)
print("compile_model: OK (unexpected for this bug)")
req = compiled.create_infer_request()
for inp in compiled.inputs:
name = inp.get_any_name()
req.set_tensor(name, ov.Tensor(np.asarray(feed[name])))
res = req.infer()
print("inference: OK (unexpected)")
for out in compiled.outputs:
name = out.get_any_name()
arr = np.asarray(res[name])
print(f"{name}: {arr.dtype} {arr.shape} {arr}")
return 1
except Exception:
print("OpenVINO failed as expected (full traceback):", file=sys.stderr)
print(traceback.format_exc(), file=sys.stderr)
return 0
if __name__ == "__main__":
raise SystemExit(main())
Relevant log output
== ORT ==
2026-01-14 23:55:27.202638405 [W:onnxruntime:Default, device_discovery.cc:164 DiscoverDevicesForPlatform] GPU device discovery failed: device_discovery.cc:89 ReadFileContents Failed to open file: "/sys/class/drm/card0/device/vendor"
ORT inputs: [('v2_0', 'tensor(float16)', [1, 1, 1, 1])]
ORT outputs: [('v6_0', 'tensor(float16)', [1, 1, 1, 1]), ('v0_0', 'tensor(float16)', [1, 1, 1, 1])]
v6_0: float16 (1, 1, 1, 1) [[[[5.203]]]]
v0_0: float16 (1, 1, 1, 1) [[[[5.203]]]]
== OpenVINO ==
OpenVINO version: 2026.0.0-20706-0a5eedc91d7
Compile device: CPU
OpenVINO failed as expected (full traceback):
Traceback (most recent call last):
File "/home/user/zhudehao/DLCompilers/openvino/model/run_compare_ort_ov.py", line 60, in main
compiled = core.compile_model(str(model_path), args.device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/anaconda3/envs/openvino_env/lib/python3.11/site-packages/openvino/_ov_api.py", line 646, in compile_model
super().compile_model(model, device_name, {} if config is None else config),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Exception from src/inference/src/cpp/core.cpp:136:
Exception from src/inference/src/dev/plugin.cpp:58:
Check '!getSupportedPrimitiveDescriptors().empty()' failed at src/plugins/intel_cpu/src/node.cpp:340:
Supported primitive descriptors list is empty for node: node_avg_pool2d type: Poolin
gpu:
RuntimeError: Exception from src/inference/src/cpp/core.cpp:136:
Exception from src/inference/src/dev/plugin.cpp:58:
Check 'false' failed at src/plugins/intel_gpu/src/plugin/program_builder.cpp:163:
[GPU] ProgramBuilder build failed!
Check 'shape_type == shape_types::dynamic_shape || node->selected_impl != nullptr' failed at src/plugins/intel_gpu/src/graph/graph_optimizer/compile_graph.cpp:51:
[GPU] Failed to select implementation for
name:result:v0_0/sink_port_0
type: reorder
original_type: Result Check '!kernels.empty()' failed at src/plugins/intel_gpu/src/kernel_selector/kernel_selector.cpp:70:
[GPU] Could not find a suitable kernel for result:v0_0/sink_port_0 params raw string: F32_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0;F16_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0
Issue submission checklist
OpenVINO Version
2026.0.0.dev20251223
Operating System
Ubuntu 20.04 (LTS)
Device used for inference
CPU
Framework
None
Model used
No response
Issue description
like this model
On the same legal ONNX model (including AveragePool, opset=18), ONNX Runtime can perform inference normally, but OpenVINO fails to compile on both CPU and GPU, with different errors reported:
CPU:Supported primitive descriptors list is empty for node: node_avg_pool2d type: Pooling
GPU:Could not find a suitable kernel for result:v0_0/sink_port_0 params raw string: F32_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0;F16_BFYX_v1_p0_0_v1_p0_0_v1_p0_0_v1_p0_0
Step-by-step reproduction
Download the model and run the following code to obtain the results.
model.zip
Relevant log output
Issue submission checklist