onnxruntime
d6c363c0 - [OVEP] OpenVINO EP 1.26.0 Development Release Updates (#28297)

Commit
81 days ago
[OVEP] OpenVINO EP 1.26.0 Development Release Updates (#28297) ## Summary Periodic upstream sync of Intel's OVEP branch (`ovep_1_26_release`) into ORT main. All changes are scoped to the OpenVINO EP and its tests. ### OpenVINO 2026.0 / 2026.1 support - Add `V_2026_0` / `V_2026_1` version enums; `capability.cc` default bumped to `V_2026_1`. - Register FLOAT8E4M3FN / FLOAT8E5M2 initializer types on CPU / GPU / NPU. - Disable OVEP-level QDQ-stripping on OV ≥ 2026.1 (OV handles it internally). - Add `ReduceSum` to no-dimension-supported ops. ### KV-cache / stateful CausalLM - Rename `ReorderKVCache` → `SetReorderKVCacheStatus` across backend interfaces. - Populate `src_idx` / `dst_idx` in `PreProcessInferRequest` with shape validation; clean state after inference and on `RewindKVCache`. - `FuseCacheReorder`: `beam_idx` and `src_idx`/`dst_idx` paths are now mutually exclusive; reject models that already carry reorder inputs. - **Behavior change:** `RewindKVCache(index > 0)` now throws when reorder is enabled (physical KV-cache eviction pass is a TODO). ### NPU / provider options - Force `disable_dynamic_shapes=true` on NPU unless `enable_causallm` is set. - Preserve user-supplied `NPU_COMPILATION_MODE_PARAMS`; skip it when importing precompiled blobs. - Preserve factory-level `device_type` when session options don't override it (fixes NPU mis-selection from Python). - **Behavior change:** removed the `ORT_OPENVINO_NPU_COMPILER_TYPE` env override — OV's default NPU compiler is used now. ### External initializers / weight sharing - Drop the 32 MB embed threshold — always externalize when multiple external initializers are in memory. - `DumpOpenVINOEPModel` rebuilds a self-contained proto when initializer data was stripped. - `AddExternalWeight` validates re-adds against existing offset/size/location (parity with ABI EP); fix race in device-tensor mapping. - `ov_bin_manager`: bounds-checked pointer view over mapped weights (fixes read-only blob import). - `qdq_stripping`: use `std::from_chars` so offsets/lengths > 4 GB parse correctly. ### Perf-count dump - New `ORT_OPENVINO_PERF_COUNT=<dir>` env var writes per-subgraph CSV (`Layer Name,Status,Layer Type,Real Time (us),Exec Type`), replacing the old stdout-only debug dump. Requires `ov::enable_profiling` on the compiled model; logs a warning and no-ops otherwise. ### Misc - **API:** `IBackend::Infer` is no longer `const` (needed for perf-dump bookkeeping). - Filter orphaned graph outputs from OVEP sub-graphs. - Better error message for "cannot export dynamically compiled model" (points to `reshape_input`). - Human-readable `ovep_exception::type` strings. - `ov::shutdown()` on DLL unload. ### Tests - Add `OVEP_ExtInit_DynamicEmbed_Tests` and `OVEP_ExtInit_EmptyRawData_Tests`; refactor setup into `SetUpTestSuite`. - Narrow OVEP exclusions in `embed_layer_norm`, `fused_matmul`, `matmul_4bits`, `quantize_linear` (skip only unsupported sub-cases). - `perftest`: reset outputs per run to support data-dependent output shapes (e.g. NonZero). ## Testing Validated against the OpenVINO versions this release targets (2025.3 – 2026.1) on CPU / GPU / NPU: - New OVEP tests pass: `OVEP_ExtInit_Tests`, `OVEP_ExtInit_DynamicEmbed_Tests`, `OVEP_ExtInit_EmptyRawData_Tests` - Narrowed contrib-op exclusions verified against EmbedLayerNorm, FusedMatMul, MatMulNBits, QuantizeLinear - Stateful CausalLM flow exercised for KV-cache reorder + rewind - `ORT_OPENVINO_PERF_COUNT=<dir>` verified to produce per-subgraph CSVs - 2+ GB external-initializers-in-memory model loads on CPU / GPU / NPU --------- Signed-off-by: Jonathan Clohessy <jonathan.clohessy@arm.com> Signed-off-by: bfilipek <bartlomiej.filipek@intel.com> Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Christian Bourjau <christian.bourjau@quantco.com> Co-authored-by: Ryan Metcalfe <107415876+RyanMetcalfeInt8@users.noreply.github.com> Co-authored-by: jatinwadhwa921 <110383850+jatinwadhwa921@users.noreply.github.com> Co-authored-by: Jaswanth Gannamaneni <jaswanth.gannamaneni@intel.com> Co-authored-by: Klimenko, Mikhail <mikhail.klimenko@intel.com> Co-authored-by: Vishnudas Thaniel S <vishnudas.thaniel.s@intel.com> Co-authored-by: n1harika <niharika.sathish@intel.com> Co-authored-by: TejalKhade28 <tejal.khade@intel.com> Co-authored-by: Preetha Veeramalai <preetha.veeramalai@intel.com> Co-authored-by: liang <gxgaoliang@126.com> Co-authored-by: Javier Martinez <javier.e.martinez@intel.com> Co-authored-by: MayureshV1 <47039074+MayureshV1@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: sfatimar <sahar.fatima@intel.com> Co-authored-by: Garth Long <garth.long@intel.com> Co-authored-by: Eric Crawford <eric.r.crawford@intel.com> Co-authored-by: derdeljan-msft <derdeljan@microsoft.com> Co-authored-by: Jonathan Clohessy <jonathan.clohessy@arm.com> Co-authored-by: Akshay Sonawane <111780983+apsonawane@users.noreply.github.com> Co-authored-by: Christopher Warrington <chwarr@microsoft.com> Co-authored-by: Ishwar Raut <iraut@nvidia.com> Co-authored-by: Gaurav Garg <gaugarg@nvidia.com> Co-authored-by: Xinpeng Dou <15529241576@163.com> Co-authored-by: Chi Lo <54722500+chilo-ms@users.noreply.github.com> Co-authored-by: adrastogi <aditya.rastogi@microsoft.com> Co-authored-by: Aditya Rastogi <adityar@ntdev.microsoft.com> Co-authored-by: qti-hungjuiw <hungjuiw@qti.qualcomm.com> Co-authored-by: qti-yuduo <yuduow@qti.qualcomm.com> Co-authored-by: Pradeep Sakhamoori <psakhamoori@microsoft.com> Co-authored-by: Adam Pocock <adam.pocock@oracle.com> Co-authored-by: Changming Sun <chasun@microsoft.com> Co-authored-by: mingyue <131847423+mingyueliuh@users.noreply.github.com> Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com> Co-authored-by: Susanta Bhattacharjee <susanta.bhattacharjee@intel.com> Co-authored-by: jatinwadhwa921 <jatin.wadhwa@intel.com> Co-authored-by: Jozef Wludzik <jozef.wludzik@intel.com> Co-authored-by: Bartlomiej Filipek <bartlomiej.filipek@intel.com> Co-authored-by: Kotomi-Du <yaru.du@intel.com> Co-authored-by: Rajeev Sekar <rajeevsekar21@gmail.com> Co-authored-by: Mayuresh M Varerkar <mayuresh.m.varerkar@intel.com> Co-authored-by: Mikhail Dvoretckii <mikhail.dvoretckii@intel.com> Co-authored-by: bopeng1234 <bo.peng@intel.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: fs-eire <7679871+fs-eire@users.noreply.github.com> Co-authored-by: Wenqin Yang <wenqin.yang@intel.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: xieofxie <xieofxie@126.com> Co-authored-by: hualxie <hualxie@microsoft.com> Co-authored-by: Jiajia Qin <jiajiaqin@microsoft.com> Co-authored-by: Joshua Lochner <admin@xenova.com> Co-authored-by: Christian Bourjau <cbourjau@users.noreply.github.com> Co-authored-by: Xiaofei Han <xiaofeihan@microsoft.com> Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com> Co-authored-by: chunghow-qti <chunghow@qti.qualcomm.com> Co-authored-by: Guenther Schmuelling <guschmue@microsoft.com> Co-authored-by: Jiawei Shao <jiawei.shao@intel.com> Co-authored-by: Tianlei Wu <tlwu@microsoft.com> Co-authored-by: czekun <chen.zekun@intel.com> Co-authored-by: Ryan Metcalfe <ryan.metcalfe@intel.com> Co-authored-by: Jaskaran Singh Nagi <jaskaran.singh.nagi@intel.com> Co-authored-by: ai-fw-intg <sys_ai_fw_intg@intel.com> Co-authored-by: Rajeev Sekar <rajeev.sekar@intel.com> Co-authored-by: RajeevSekar <117911837+RajeevSekar@users.noreply.github.com> Co-authored-by: Nazanin Beheshti <nazanin.beheshti@intel.com>
Author
Parents
Loading