Skip to content
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
415 commits
Select commit Hold shift + click to select a range
676a4d2
Merge branch 'master' into sync_msft_28082025
Jaswanth51 Aug 28, 2025
b9a1885
Merge pull request #797 from intel/sync_msft_28082025
Jaswanth51 Aug 28, 2025
b7244f1
remove onnxruntime/test/providers/openvino/openvino_plugin.cc (#798)
RyanMetcalfeInt8 Aug 28, 2025
be346bb
OVEP-CI updating version (#799)
jatinwadhwa921 Sep 1, 2025
2f1ad9d
Sync with Microsoft ONNX Runtime - 01/09/2025 (#801)
Jaswanth51 Sep 1, 2025
cc8b267
Revert "Sync with Microsoft ONNX Runtime - 01/09/2025 (#801)"
Jaswanth51 Sep 2, 2025
161e645
Merge pull request #803 from intel/revert-801-sync_msft_01092025
Jaswanth51 Sep 2, 2025
c3276de
Re-enable setting default precision for OV devices (#802)
preetha-intel Sep 2, 2025
edc51ea
bf16 tensor handling related fix (#805)
susbhere Sep 3, 2025
fba645c
Merge branch 'master' into sync_msft_10_9_25
jatinwadhwa921 Sep 10, 2025
3215fef
Merge pull request #810 from intel/sync_msft_10_9_25
jatinwadhwa921 Sep 11, 2025
a5bd8ee
[OVEP] Fix to increase provider value upto 2048 char (#807)
jatinwadhwa921 Sep 11, 2025
02cf7e3
Make cache_dir and num_stream options session-local (#809)
mklimenk Sep 12, 2025
f3d7b4f
Merge branch 'master' into sync_msft_15092025
Jaswanth51 Sep 15, 2025
c098113
Merge pull request #811 from intel/sync_msft_15092025
ankitm3k Sep 15, 2025
42b1fbb
Merge branch 'master' into sync_msft_17092025
Jaswanth51 Sep 17, 2025
f7a5656
Merge pull request #814 from intel/sync_msft_17092025
ankitm3k Sep 17, 2025
58e83ef
Fix performance degradation in Ubuntu (#815)
jwludzik Sep 23, 2025
89db8a4
Merge branch 'master' into sync_msft_26092025
Jaswanth51 Sep 26, 2025
9d56532
Merge pull request #818 from intel/sync_msft_26092025
Jaswanth51 Sep 26, 2025
ce3a033
Merge branch 'master' into sync_msft_01102025
Jaswanth51 Oct 1, 2025
2d82713
Merge pull request #820 from intel/sync_msft_01102025
ankitm3k Oct 1, 2025
f8b0904
Don't embed external initializers into the proto to avoid 2GB limit (…
intbf Oct 6, 2025
d102554
Fix Regression in Model PSS and PSR, add check for zero-size initiali…
intbf Oct 9, 2025
9a5e182
Merge branch 'master' into sync_msft_10102025
Jaswanth51 Oct 10, 2025
2652479
Merge pull request #826 from intel/sync_msft_10102025
ankitm3k Oct 10, 2025
b685871
When dynamic shapes are used the proto might be overriden and offsets…
intbf Oct 10, 2025
65bbecc
trigger stateful path for Phisilica model
Kotomi-Du Oct 2, 2025
1e132f3
unify the code
Kotomi-Du Oct 11, 2025
59f22e1
[OVEP] fixed NPU exception message when CPU fallback is disabled (#832)
RajeevSekar Oct 14, 2025
5c40da5
CVS-174886: Make onnxruntime tests pass on OpenVINO (#790)
sgbihu Oct 14, 2025
914c07a
[OVEP] Enable Session Option to Stop Context Sharing (#822)
n1harika Oct 15, 2025
37b99c1
Merge branch 'master' into sync_msft_16102025
Jaswanth51 Oct 16, 2025
f7483e6
Merge pull request #833 from intel/sync_msft_16102025
ankitm3k Oct 16, 2025
19ebc1f
CVS-174008: Enable ETW Tracing for OVEP (#827)
ankitm3k Oct 16, 2025
25c6976
address PR review
Kotomi-Du Oct 17, 2025
397c61b
CVS-174585: Memory map shared weights when possible (#829)
ericcraw Oct 22, 2025
8e9ecb7
Merge branch 'master' into sync_msft_27102025
Jaswanth51 Oct 27, 2025
c7204c5
Merge pull request #835 from intel/sync_msft_27102025
ankitm3k Oct 27, 2025
6d41065
Run lintrunner and fix formatting issues (#836)
Jaswanth51 Oct 27, 2025
eff6cac
CVS-175734- [OVEP GPU] add GQA in support list for GPU backend (#830)
Kotomi-Du Oct 27, 2025
b1f7750
CVS-175737-[OVEP] Expose kvcache_rewind python api (#831)
Kotomi-Du Oct 28, 2025
513e198
update the keyword for matching key_value_input_names
Kotomi-Du Oct 28, 2025
20de366
CVS-175447-[OVEP] Add a check for type mismatches in QDQ stripping (#…
mdvoretc-intel Oct 29, 2025
d7ee534
optimize the code
Kotomi-Du Oct 30, 2025
3c1c4c3
revert original code which is functional
Kotomi-Du Oct 30, 2025
7c1720d
remove useless change
Kotomi-Du Oct 30, 2025
81772e9
Merge branch 'master' into sync_msft_03112025
Jaswanth51 Nov 3, 2025
323cfeb
Merge pull request #843 from intel/sync_msft_03112025
ankitm3k Nov 3, 2025
2041402
Merge branch 'ovep-develop' into make_stateful_phisilica
Kotomi-Du Nov 3, 2025
b9a73f3
Merge pull request #821 from Kotomi-Du/make_stateful_phisilica
Kotomi-Du Nov 3, 2025
7aa5363
[OVEP] support to run layout feature using python bindings (#846)
jatinwadhwa921 Nov 7, 2025
fa68db1
CVS-176081: Add support for nested maps to load_config parsing (#844)
RyanMetcalfeInt8 Nov 7, 2025
70acefe
[CVS-172796] fix bfloat16 conversion when single cast node to bfloat1…
bopeng1234 Nov 11, 2025
5743197
ov_stateful_patch_utils: Remove NPUW WA for avoiding SinCos when cont…
RyanMetcalfeInt8 Nov 13, 2025
10af800
CVS-175880 Implement single bin (#847)
ericcraw Nov 13, 2025
52c88df
Merge branch 'master' into sync_msft_14112025
Jaswanth51 Nov 14, 2025
0f8a754
Merge pull request #848 from intel/sync_msft_14112025
ankitm3k Nov 14, 2025
51493cd
Run lintrunner and fix formatting issues (#849)
Jaswanth51 Nov 14, 2025
d0bac3e
CVS-175736 - [OVEP] Optimize Stateful Path: use output-to-input strat…
Kotomi-Du Nov 15, 2025
75c11ae
CVS-167480 : Report import failure error code (#715)
javier-intel Nov 17, 2025
d951954
CVS-175504: Additional single bin simplifications + fixes for bi-dire…
ericcraw Nov 17, 2025
0d68ee5
CVS-176574 : Fix memory leaks for protobuf & DataOps (#852)
ankitm3k Nov 18, 2025
dbd1ce0
CVS-175504 Fix mixing weight shared and non-shared models (#854)
ericcraw Nov 19, 2025
fa7ab09
ovep stateful: Enable explicit slice of prefill logits when NPUW_SLIC…
RyanMetcalfeInt8 Nov 19, 2025
24c833c
Updating OVEP to support 2025.4.0 (#853)
jatinwadhwa921 Nov 19, 2025
4b1976a
Merge branch 'master' into sync_msft_19112025
Jaswanth51 Nov 19, 2025
a69cbf7
CVS-175119-[OVEP] Fixed possibility of array index out of bounds in s…
RajeevSekar Nov 19, 2025
cb8c270
Merge branch 'ovep-develop' into sync_msft_19112025
preetha-intel Nov 19, 2025
ade6a2e
Merge pull request #856 from intel/sync_msft_19112025
ankitm3k Nov 19, 2025
2f7212c
skipped failing testcase (MathOpTest.Clip_Default_int64) (#860)
RajeevSekar Nov 20, 2025
5a06f68
reset ort.eprp file changes (#862)
ankitm3k Nov 25, 2025
6274e3c
Merge branch 'master' into sync_msft_25112025
Jaswanth51 Nov 25, 2025
bb738ba
Merge pull request #863 from intel/sync_msft_25112025
Jaswanth51 Nov 25, 2025
39d6db5
Sync with Microsoft ONNX Runtime - 03/12/2025 (#867)
Jaswanth51 Dec 3, 2025
8291389
Revert "Sync with Microsoft ONNX Runtime - 03/12/2025 (#867)"
Jaswanth51 Dec 3, 2025
fa8f464
Merge pull request #868 from intel/revert_sync_03122025
Jaswanth51 Dec 3, 2025
e0779f2
CVS-176847 Reshape Input to apply to OVIR models as well (#864)
n1harika Dec 9, 2025
9164f62
Merge branch 'master' into sync_msft_09122025
Jaswanth51 Dec 9, 2025
f0685ad
Merge pull request #879 from intel/sync_msft_09122025
Jaswanth51 Dec 9, 2025
13e537d
CVS-178008: Revert tests for ovep (#883)
sgbihu Dec 10, 2025
f48e9e7
Merge branch 'master' into sync_msft_15122025
Jaswanth51 Dec 15, 2025
5bedf08
Merge pull request #885 from intel/sync_msft_15122025
ankitm3k Dec 15, 2025
dbfade4
CVS-177904: Address code review comments for backend_manager.cc (#881)
intbf Dec 15, 2025
e67a96b
Reorder KV cache using the new gather_by_axis API
mdvoretc-intel Oct 31, 2025
349eff9
Do a ScatterElementsUpdate-based reorder during execution
mdvoretc-intel Nov 13, 2025
49ed42a
Get variable update lengths from incoming indices
mdvoretc-intel Nov 13, 2025
8dea771
Make changes to support new KVCache fusion
mdvoretc-intel Nov 20, 2025
6438df8
Add proper include
mdvoretc-intel Dec 2, 2025
c76fb92
add reorder KV cache API
Kotomi-Du Oct 16, 2025
13a9f01
clean up code
Kotomi-Du Dec 5, 2025
101102d
add post process for internal handled inputs
Kotomi-Du Dec 9, 2025
59bd56e
disable update_kvcache for npu + pass kv info
Kotomi-Du Dec 12, 2025
7ea12e7
refactor code
Kotomi-Du Dec 12, 2025
ab95e39
minor change
Kotomi-Du Dec 12, 2025
1665865
refactor with int32 indices, string_view parsing.
ZackyLake Dec 17, 2025
0a733e5
fix naming
ZackyLake Dec 30, 2025
8c9afa6
Merge branch 'master' into sync_msft_05012026
Jaswanth51 Jan 5, 2026
3f9e49c
Merge pull request #890 from intel/sync_msft_05012026
Jaswanth51 Jan 5, 2026
ba9dd5e
CVS-178009: Fix provider tests based on code review (#880)
sgbihu Jan 5, 2026
e1da324
Merge branch 'ovep-develop' into update_kvcache_node
RyanMetcalfeInt8 Jan 6, 2026
5f74c2f
fix comment
ZackyLake Jan 6, 2026
ca044e3
Merge pull request #872 from Kotomi-Du/update_kvcache_node
Kotomi-Du Jan 7, 2026
564e197
[OVEP] Fix model import logic to check for OV tensor before stream (#…
n1harika Jan 7, 2026
4d4d5fc
Fix tensor constness for OV 2026.0 (#895)
ericcraw Jan 8, 2026
cbec774
CVS-174235 : OV SDK Version Check Removed for EpCtx Consumption Flow …
ankitm3k Jan 8, 2026
2ced6f4
Throw exception on plugin ep creation failure (#894)
ericcraw Jan 8, 2026
f4fa378
Merge branch 'master' into sync_msft_09012026
Jaswanth51 Jan 9, 2026
2d61435
Merge pull request #897 from intel/sync_msft_09012026
ankitm3k Jan 9, 2026
b51ec77
CVS-175980: Disable pre-allocation of memory for dynamic models throu…
n1harika Jan 9, 2026
bc3ccde
perftest: iterate over the metadata entries first in filter_ep_device…
jnagi-intel Jan 9, 2026
c56cf71
Fix model import for OV versions older than 26.0 (#898)
ericcraw Jan 9, 2026
5b8c7ed
[OVEP] Fix lint issues (#901)
jatinwadhwa921 Jan 12, 2026
48c737c
Merge branch 'master' into sync_msft_14012026
Jaswanth51 Jan 14, 2026
cd20d5d
Merge pull request #902 from intel/sync_msft_14012026
ankitm3k Jan 14, 2026
e3ed212
Adopt the required lint on MSFT side to ovep-develop PR check (#899)
vthaniel Jan 14, 2026
41f3dc6
Merge branch 'master' into sync_msft_16012026
Jaswanth51 Jan 16, 2026
af8a1b7
Merge pull request #904 from intel/sync_msft_16012026
Jaswanth51 Jan 16, 2026
a21f038
Enable QDQ stripping logic only for older OV (#823)
mklimenk Jan 16, 2026
08da433
Optimize graph for GPU stateful model (#906)
Kotomi-Du Jan 20, 2026
413b1d8
Shutdown OV to release resources (#907)
sgbihu Jan 21, 2026
7851372
Merge branch 'master' into jatin_rebase_27_1
jatinwadhwa921 Jan 27, 2026
4103d64
Merge pull request #918 from intel/jatin_rebase_27_1
jatinwadhwa921 Jan 27, 2026
1b5c6a3
Merge branch 'master' into sync_msft_03022026
Jaswanth51 Feb 3, 2026
7ba2d61
Merge pull request #924 from intel/sync_msft_03022026
ankitm3k Feb 3, 2026
3074156
Use OVEP QDQ-stripping in 2026.0 due to accuracy issues (#926)
mklimenk Feb 3, 2026
7ce61c2
CVS-180418 Reuse weight files across shared contexts (#927)
ericcraw Feb 4, 2026
7d884c6
Fix potential race in weights file device mapping (#929)
ericcraw Feb 5, 2026
db977bc
EISW-197119, EISW-197045, EISW-197080: Document import method transit…
Copilot Feb 6, 2026
c4d4cd1
Merge branch 'master' into sync_msft_09022026
Jaswanth51 Feb 9, 2026
0ebdb86
Merge pull request #938 from intel/sync_msft_09022026
ankitm3k Feb 9, 2026
5b4d0ab
Remove single nodes in graph outputs in clustering logic (#942)
n1harika Feb 11, 2026
1572adc
Merge branch 'master' into sync_msft_12022026
Jaswanth51 Feb 12, 2026
78a6aea
Merge pull request #945 from intel/sync_msft_12022026
ankitm3k Feb 12, 2026
b53b5c3
Merge branch 'master' into sync_msft_13022026
Jaswanth51 Feb 13, 2026
1129a9d
Merge pull request #946 from intel/sync_msft_13022026
ankitm3k Feb 13, 2026
007c806
CVS-174613: [OV EP] Followup: External initializers in memory - remov…
intbf Feb 13, 2026
6f2185a
Modifying the error message to instruct the user to use reshape input…
n1harika Feb 19, 2026
8bb0964
Merge branch 'master' into sync_msft_25_2_26
RajeevSekar Feb 25, 2026
69a0776
Merge branch 'master' into sync_msft_25_2_26
RajeevSekar Feb 25, 2026
695fd3b
Merge pull request #952 from intel/sync_msft_25_2_26
ankitm3k Feb 25, 2026
8320a97
CVS-181831 : Fix npu model import for newer OV versions (#951)
ericcraw Feb 25, 2026
0ff5d37
fix: Fix OVIR compile params pass (#953)
ankitm3k Feb 26, 2026
2a04cd2
Merge branch 'master' into sync_msft_27022026
Jaswanth51 Feb 27, 2026
2a49ca2
Merge pull request #954 from intel/sync_msft_27022026
ankitm3k Feb 27, 2026
a3a6b2e
Commit Changes for Removing Env Var (#950)
sfatimar Mar 2, 2026
6a95a50
Merge branch 'master' into sync_msft_04032026
Jaswanth51 Mar 4, 2026
584726d
Merge pull request #957 from intel/sync_msft_04032026
ankitm3k Mar 4, 2026
3882d68
Update DumpOpenVINOEPModel to handle initializer data (#960)
intbf Mar 6, 2026
4d29fcf
Merge remote-tracking branch 'origin/master' into sync_msft_09032026
Jaswanth51 Mar 9, 2026
78dafc1
Merge pull request #961 from intel/sync_msft_09032026
Jaswanth51 Mar 9, 2026
8d9810d
Merge remote-tracking branch 'origin/master' into sync_msft_10032026
Jaswanth51 Mar 10, 2026
e044e11
Merge pull request #962 from intel/sync_msft_10032026
ankitm3k Mar 10, 2026
cee0092
Merge remote-tracking branch 'origin/master' into sync_msft_11032026
Jaswanth51 Mar 11, 2026
22534c2
Merge pull request #964 from intel/sync_msft_11032026
ankitm3k Mar 11, 2026
68d2ab8
Merge remote-tracking branch 'origin/master' into sync_msft_18032026
Jaswanth51 Mar 17, 2026
ff04504
Merge pull request #980 from intel/sync_msft_18032026
ankitm3k Mar 18, 2026
e47ea73
[OVEP] [CVS-182698] Fix tensor import failure caused by read-only blo…
n1harika Mar 20, 2026
9965d54
Merge remote-tracking branch 'origin/master' into sync_msft_23032026
AIFrameworksIntegration Mar 23, 2026
f153255
Merge pull request #986 from intel/sync_msft_23032026
ankitm3k Mar 23, 2026
9e79db8
fix: Fix offset & length conversion in weight sharing logic as size_t…
ankitm3k Mar 24, 2026
4846b1b
Mark ReduceSum with dynamic_dimension as supported at OV along with h…
preetha-intel Mar 24, 2026
6af93e8
Merge remote-tracking branch 'origin/master' into sync_msft_25032026
AIFrameworksIntegration Mar 24, 2026
6bf490a
Merge pull request #989 from intel/sync_msft_25032026
Jaswanth51 Mar 25, 2026
4859d4a
Merge remote-tracking branch 'origin/master' into sync_msft_26032026
AIFrameworksIntegration Mar 25, 2026
3192f62
Merge pull request #993 from intel/sync_msft_26032026
ankitm3k Mar 26, 2026
c362aa3
EISW-195635, CVS-181670: Add perf count CSV dump via ORT_OPENVINO_PER…
sfatimar Mar 26, 2026
d7ec543
fix: Add External Initializers mismatch validation in AddExternalWeig…
ankitm3k Mar 26, 2026
750615e
[OVEP] [CVS-182934] Allowing user selected value for disable_dynamic_…
n1harika Mar 31, 2026
6c96bd4
[OVEP] [CVS-177257] Adding support for OV 2026.1 and Float8 precision…
n1harika Apr 1, 2026
9e2e1ef
Merge remote-tracking branch 'origin/master' into sync_msft_02042026
AIFrameworksIntegration Apr 1, 2026
b20f392
Merge pull request #1010 from intel/sync_msft_02042026
ankitm3k Apr 2, 2026
36a1192
Merge remote-tracking branch 'origin/master' into sync_msft_03042026
AIFrameworksIntegration Apr 2, 2026
39277cc
Merge pull request #1020 from intel/sync_msft_03042026
ankitm3k Apr 3, 2026
26954d0
Merge remote-tracking branch 'origin/master' into sync_msft_05042026
AIFrameworksIntegration Apr 4, 2026
ab1b076
Merge pull request #1026 from intel/sync_msft_05042026
ankitm3k Apr 5, 2026
79bc5e2
Merge remote-tracking branch 'origin/master' into sync_msft_06042026
AIFrameworksIntegration Apr 5, 2026
6aecbbc
Merge pull request #1027 from intel/sync_msft_06042026
ankitm3k Apr 6, 2026
c49b7bb
CVS-174486: [OV EP] Followup: Add tests for dynamic shapes and for em…
intbf Apr 7, 2026
0fe7433
Merge remote-tracking branch 'origin/master' into sync_msft_13042026
AIFrameworksIntegration Apr 12, 2026
86592a0
alternative of skipping contrib op test cases explored
RajeevSekar Apr 13, 2026
949cd14
Merge pull request #1042 from intel/sync_msft_13042026
ankitm3k Apr 13, 2026
204f000
Clean KVCache reorder status when rewindKV (#958)
Kotomi-Du Apr 13, 2026
b2c8ebc
[CVS-184405] Forcing disable_dynamic_shapes as true for NPU, without …
n1harika Apr 14, 2026
db69273
Merge remote-tracking branch 'origin/master' into sync_msft_15042026
AIFrameworksIntegration Apr 14, 2026
e7f322b
Merge pull request #1047 from intel/sync_msft_15042026
ankitm3k Apr 15, 2026
a06f856
alternative of skipping contrib op test cases explored
RajeevSekar Apr 13, 2026
1b02a94
Merge branch 'rajeev/contrib_ops_test' of https://github.com/intel/on…
RajeevSekar Apr 16, 2026
cff93aa
Merge branch 'ovep-develop' into rajeev/contrib_ops_test
RajeevSekar Apr 16, 2026
3608fd7
Add missing <unordered_set> header to fused_matmul_op_test.cc
Copilot Apr 16, 2026
7998f60
Merge remote-tracking branch 'origin/master' into sync_msft_18042026
AIFrameworksIntegration Apr 17, 2026
76cb3a3
Merge pull request #1053 from intel/sync_msft_18042026
jatinwadhwa921 Apr 21, 2026
8156acd
Merge branch 'ovep-develop' into rajeev/contrib_ops_test
RajeevSekar Apr 22, 2026
e662bf1
Merge pull request #1050 from intel/rajeev/contrib_ops_test
RajeevSekar Apr 23, 2026
9f07ece
Merge remote-tracking branch 'origin/master' into sync_msft_24042026
AIFrameworksIntegration Apr 23, 2026
19efec4
Merge remote-tracking branch 'origin/master' into sync_msft_26042026
AIFrameworksIntegration Apr 25, 2026
9ab8a5d
Merge pull request #1063 from intel/sync_msft_24042026
ankitm3k Apr 27, 2026
2db52dd
Fix incorrect device selection(NPU) with python app running OVEP GPU …
nazanin-beheshti Apr 28, 2026
6750358
Merge pull request #1064 from intel/sync_msft_26042026
ankitm3k Apr 28, 2026
6533ad6
lint fixes
RajeevSekar Apr 29, 2026
def12b3
Merge pull request #1065 from intel/rajeev/lint-runner
RajeevSekar Apr 29, 2026
c01cf58
Merge pull request #1069 from intel/jatin_fix_resize_op
jatinwadhwa921 Apr 30, 2026
53de33a
Merge branch 'master' into syncing_msft_30_4_2026
jatinwadhwa921 Apr 30, 2026
1a4e22d
Merge pull request #1070 from intel/syncing_msft_30_4_2026
ankitm3k Apr 30, 2026
8ff82ba
Merge branch 'master' into syncing_msft_4_5_26
jatinwadhwa921 May 4, 2026
ec0014c
Merge pull request #1074 from intel/syncing_msft_4_5_26
ankitm3k May 4, 2026
1943a90
[OpenVINO EP] Add workload type unit tests (CVS-166020) (#925)
Jaswanth51 May 8, 2026
ec1d1f2
Merge remote-tracking branch 'origin/master' into sync_msft_13052026
AIFrameworksIntegration May 12, 2026
2577a9c
Merge pull request #1086 from intel/sync_msft_13052026
ankitm3k May 13, 2026
dd30509
Merge remote-tracking branch 'origin/master' into sync_msft_14052026
AIFrameworksIntegration May 13, 2026
0426770
Merge pull request #1089 from intel/sync_msft_14052026
ankitm3k May 14, 2026
26311f0
Merge remote-tracking branch 'origin/master' into sync_msft_15052026
AIFrameworksIntegration May 14, 2026
0bef220
Merge pull request #1090 from intel/sync_msft_15052026
ankitm3k May 15, 2026
dd22f00
Merge remote-tracking branch 'origin/master' into sync_msft_18052026
AIFrameworksIntegration May 17, 2026
fc8dca1
Merge pull request #1093 from intel/sync_msft_18052026
ankitm3k May 18, 2026
ccc6136
Merge remote-tracking branch 'origin/master' into sync_msft_22052026
AIFrameworksIntegration May 21, 2026
8b7ae9c
Merge pull request #1100 from intel/sync_msft_22052026
ankitm3k May 22, 2026
53dc3a9
Merge remote-tracking branch 'origin/master' into sync_msft_26052026
AIFrameworksIntegration May 25, 2026
de91acb
Merge pull request #1106 from intel/sync_msft_26052026
ankitm3k May 26, 2026
989116f
Merge remote-tracking branch 'origin/master' into sync_msft_29052026
AIFrameworksIntegration May 28, 2026
d586e78
Merge pull request #1111 from intel/sync_msft_29052026
ankitm3k May 29, 2026
c4027fa
Merge remote-tracking branch 'origin/master' into sync_msft_01062026
AIFrameworksIntegration May 31, 2026
b86c5f9
Merge pull request #1115 from intel/sync_msft_01062026
ankitm3k Jun 1, 2026
9f00d1e
Merge branch 'master' into sync_msft_3_6_26
jatinwadhwa921 Jun 3, 2026
a57a4a9
Merge pull request #1117 from intel/sync_msft_3_6_26
ankitm3k Jun 3, 2026
415de51
Merge remote-tracking branch 'origin/master' into sync_msft_04062026
AIFrameworksIntegration Jun 3, 2026
8f777da
Merge pull request #1118 from intel/sync_msft_04062026
ankitm3k Jun 4, 2026
7b01e75
Merge branch 'master' into sync_msft_4_6_26
jatinwadhwa921 Jun 4, 2026
1ceee33
Merge pull request #1119 from intel/sync_msft_4_6_26
ankitm3k Jun 4, 2026
b2c6dcc
fix: OVIR EPContext Export regeneration resolve .xml against input mo…
ankitm3k Jun 4, 2026
19861ce
Merge branch 'master' into sync_msft_5_6_25
jatinwadhwa921 Jun 5, 2026
b76fc62
Merge pull request #1122 from intel/sync_msft_5_6_25
ankitm3k Jun 5, 2026
8605547
Merge remote-tracking branch 'origin/master' into sync_msft_08062026
AIFrameworksIntegration Jun 7, 2026
82ace8f
Update OV version to 2026.2.0
jatinwadhwa921 Jun 8, 2026
2aaf463
Merge pull request #1125 from intel/sync_msft_08062026
ankitm3k Jun 8, 2026
70741f6
Merge branch 'ovep-develop' into jatin_update_ov_2026_2
ankitm3k Jun 8, 2026
421e511
Merge pull request #1126 from intel/jatin_update_ov_2026_2
ankitm3k Jun 8, 2026
582bbc7
Merge remote-tracking branch 'origin/master' into sync_msft_09062026
AIFrameworksIntegration Jun 8, 2026
6f5465a
Merge pull request #1127 from intel/sync_msft_09062026
ankitm3k Jun 9, 2026
2b6dcfa
fix & revert patch
ankitm3k Jun 9, 2026
762a9cf
[OVEP]Update Internal CI to OV 2026.2
jatinwadhwa921 Jun 8, 2026
cd68bda
Merge branch 'master' into ovep_dev_patch
ankitm3k Jun 10, 2026
6b21b7c
Merge branch 'master' into ovep_dev_patch
ankitm3k Jun 23, 2026
c7d7df7
Unit test for EPCTX OVIR model (#1142)
jatinwadhwa921 Jun 23, 2026
5c028f2
Update Internal CI to OV 2026.2.1
jatinwadhwa921 Jun 19, 2026
ab65671
Negative test case for EPCTX OVIR unit test case (#1165)
jatinwadhwa921 Jun 30, 2026
d2f9a36
Addressing review comments (#1171)
jatinwadhwa921 Jun 30, 2026
f7196b6
Merge branch 'master' into ovep_dev_patch
jatinwadhwa921 Jun 30, 2026
f7da507
Fix for epctx ovir test case (#1176)
jatinwadhwa921 Jul 1, 2026
4a96ba7
Merge branch 'master' into ovep_dev_patch
jatinwadhwa921 Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/windows_openvino.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,12 @@ jobs:
with:
architecture: x64

- name: Download OpenVINO Toolkit v2026.1.0
- name: Download OpenVINO Toolkit v2026.2.0
env:
OpenVINOVersion: 2026.1.0
OpenVINOVersion: 2026.2.0
shell: pwsh
run: |
$Url ="https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.1/windows_vc_mt/openvino_toolkit_windows_vc_mt_2026.1.0.21367.63e31528c62_x86_64.zip"
$Url ="https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.2/windows/openvino_toolkit_windows_2026.2.0.21903.52ddc073857_x86_64.zip"
$OutputPath = "$env:RUNNER_TEMP\openvino.zip"
$ExtractPath = "$env:RUNNER_TEMP\openvino-v$env:OpenVINOVersion"
$TempExtractPath = "$env:RUNNER_TEMP\openvino_temp"
Expand Down Expand Up @@ -99,7 +99,7 @@ jobs:
shell: pwsh
# Use $GITHUB_ENV to set the variable for subsequent steps
run: |
$openVinoRootDir = Join-Path $env:RUNNER_TEMP "openvino-v2026.1.0"
$openVinoRootDir = Join-Path $env:RUNNER_TEMP "openvino-v2026.2.0"
echo "OpenVINORootDir=$openVinoRootDir" >> $env:GITHUB_ENV
Comment thread
edgchen1 marked this conversation as resolved.

- name: Print OpenVINORootDir after downloading OpenVINO
Expand Down
4 changes: 2 additions & 2 deletions cmake/onnxruntime_providers_openvino.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

# Header paths
find_package(OpenVINO REQUIRED COMPONENTS Runtime ONNX)
if(OpenVINO_VERSION VERSION_LESS 2025.0)
message(FATAL_ERROR "OpenVINO 2025.0 and newer are supported. Please, use latest OpenVINO release")
if(OpenVINO_VERSION VERSION_LESS 2026.0)
message(FATAL_ERROR "OpenVINO 2026.0 and newer are supported. Please, use latest OpenVINO release")
endif()

if(OpenVINO_VERSION VERSION_GREATER_EQUAL 2024.4)
Expand Down
8 changes: 6 additions & 2 deletions onnxruntime/core/providers/openvino/onnx_ctx_model_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,13 @@ std::shared_ptr<SharedContext> EPCtxHandler::Initialize(const std::vector<IExecu
shared_context->Deserialize(ss);
}
} else {
ORT_THROW_IF_ERROR(utils::ValidateExternalDataPath(session_context.GetOutputModelPath(),
const std::filesystem::path cache_context_path{ep_cache_context};
const std::filesystem::path& validation_base_path = (cache_context_path.extension() == ".xml")
? session_context.GetModelPath()
: session_context.GetOutputModelPath();
ORT_THROW_IF_ERROR(utils::ValidateExternalDataPath(validation_base_path,
std::filesystem::path(ep_cache_context)));
std::filesystem::path ep_context_path = session_context.GetOutputModelPath().parent_path() / ep_cache_context;
std::filesystem::path ep_context_path = validation_base_path.parent_path() / ep_cache_context;
if (ep_context_path.extension() != ".xml") {
shared_context = shared_context_manager_->GetOrCreateSharedContext(ep_context_path);
shared_context->Deserialize();
Expand Down
10 changes: 4 additions & 6 deletions onnxruntime/core/providers/openvino/ov_versions/capability.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,14 @@
npu_qdq_optimizer_enabled = true; // see data_ops.cc ~615 where we check for int16 types for gpu, this may change to a better approach later
}

#if OPENVINO_VERSION_MAJOR == 2026 && OPENVINO_VERSION_MINOR == 1
#if OPENVINO_VERSION_MAJOR == 2026 && OPENVINO_VERSION_MINOR == 2
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2026_2, device_type_, npu_qdq_optimizer_enabled);
#elif OPENVINO_VERSION_MAJOR == 2026 && OPENVINO_VERSION_MINOR == 1
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2026_1, device_type_, npu_qdq_optimizer_enabled);
#elif OPENVINO_VERSION_MAJOR == 2026 && OPENVINO_VERSION_MINOR == 0
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2026_0, device_type_, npu_qdq_optimizer_enabled);
#elif OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 4
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2025_4, device_type_, npu_qdq_optimizer_enabled);
#elif OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 3
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2025_3, device_type_, npu_qdq_optimizer_enabled);
#else
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2026_1, device_type_, npu_qdq_optimizer_enabled);
data_ops_ = std::make_unique<DataOps>(graph_viewer_, V_2026_2, device_type_, npu_qdq_optimizer_enabled);

Check warning on line 51 in onnxruntime/core/providers/openvino/ov_versions/capability.cc

View workflow job for this annotation

GitHub Actions / Optional Lint C++

[cpplint] reported by reviewdog 🐶 Add #include <memory> for make_unique<> [build/include_what_you_use] [4] Raw Output: onnxruntime/core/providers/openvino/ov_versions/capability.cc:51: Add #include <memory> for make_unique<> [build/include_what_you_use] [4]
#endif
}

Expand Down
10 changes: 5 additions & 5 deletions onnxruntime/core/providers/openvino/ov_versions/data_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ void DataOps::populate_op_mode_supported() {

// populate unsupportedmode_t
{
UnsupportedOpMode obj = {{V_2024_1, V_2024_2, V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1, V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1},
UnsupportedOpMode obj = {{V_2024_1, V_2024_2, V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1, V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1, V_2026_2},
[this](const Node* node, const InitializedTensorSet&) {
// If the Input of ReduceMax op is UINT8, it is rejected (Due to output mismatch)
for (size_t i = 0; i < node->InputDefs().size(); i++) {
Expand All @@ -425,7 +425,7 @@ void DataOps::populate_op_mode_supported() {
{
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2,
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1,
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1},
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1, V_2026_2},
[this](const Node* node, const InitializedTensorSet&) {
const auto& input_args = node->InputDefs();
const auto& input_arg = (input_args.size() > 1) ? input_args[1] : input_args[0];
Expand All @@ -445,7 +445,7 @@ void DataOps::populate_op_mode_supported() {
{
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2,
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1,
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1},
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1, V_2026_2},
[this](const Node* node, const InitializedTensorSet&) {
// If the operator is unsqueeze
// If axes is an input, then we cannot produce a static graph.
Expand All @@ -461,7 +461,7 @@ void DataOps::populate_op_mode_supported() {
}
{
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2, V_2024_3, V_2024_4, V_2024_5,
V_2024_6, V_2025_0, V_2025_1, V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1},
V_2024_6, V_2025_0, V_2025_1, V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1, V_2026_2},
[this](const Node* node, const InitializedTensorSet&) {
// check for attributes
auto& upsample_attr = node->GetAttributes();
Expand Down Expand Up @@ -492,7 +492,7 @@ void DataOps::populate_op_mode_supported() {
{
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2,
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1,
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1},
V_2025_2, V_2025_3, V_2025_4, V_2026_0, V_2026_1, V_2026_2},
[this](const Node* node, const InitializedTensorSet&) {
auto& attributes = node->GetAttributes();
if (attributes.count("coordinate_transformation_mode") > 0) {
Expand Down
3 changes: 2 additions & 1 deletion onnxruntime/core/providers/openvino/ov_versions/data_ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ enum versionNum {
V_2025_3,
V_2025_4,
V_2026_0,
V_2026_1
V_2026_1,
V_2026_2
};

using VersionNum = enum versionNum;
Expand Down
204 changes: 204 additions & 0 deletions onnxruntime/test/providers/openvino/openvino_ep_workload_type_test.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#include <chrono>
#include <cmath>
#include <string>
#include <thread>
#include <unordered_map>
#include <vector>

#include "core/session/onnxruntime_cxx_api.h"
#include "gtest/gtest.h"

extern std::unique_ptr<Ort::Env> ort_env;

constexpr const ORTCHAR_T* kSqueezeNetModelUri =
ORT_TSTR("testdata/squeezenet/model.onnx");

class OVEPWorkloadTypeTests : public ::testing::Test {
protected:
// Check whether the NPU device can be registered at all.
static bool IsNPUAvailable() {
try {
Ort::SessionOptions opts;
std::unordered_map<std::string, std::string> ov;
ov["device_type"] = "NPU";
opts.AppendExecutionProvider_OpenVINO_V2(ov);
return true;
} catch (...) {
return false;
}
}

// Allow NPU resources to be fully released between tests.
// Without this delay the NPU driver may fail to re-initialise

Check warning on line 35 in onnxruntime/test/providers/openvino/openvino_ep_workload_type_test.cc

View workflow job for this annotation

GitHub Actions / Optional Lint

[misspell] reported by reviewdog 🐶 "initialise" is a misspelling of "initialize" Raw Output: ./onnxruntime/test/providers/openvino/openvino_ep_workload_type_test.cc:35:54: "initialise" is a misspelling of "initialize"
void TearDown() override {
std::this_thread::sleep_for(std::chrono::milliseconds(200));
}
Comment thread
edgchen1 marked this conversation as resolved.

static Ort::Session CreateSqueezeNetSession(
Ort::SessionOptions& session_options,
std::unordered_map<std::string, std::string>& ov_options) {
session_options.SetIntraOpNumThreads(1);
Comment thread
edgchen1 marked this conversation as resolved.
session_options.SetGraphOptimizationLevel(
GraphOptimizationLevel::ORT_ENABLE_ALL);
session_options.AppendExecutionProvider_OpenVINO_V2(ov_options);

return Ort::Session(*ort_env, kSqueezeNetModelUri, session_options);
}

// Run a single inference on the SqueezeNet session and return output
static std::vector<float> RunSqueezeNet(Ort::Session& session,
const std::string& phase_label) {
Ort::AllocatorWithDefaultOptions allocator;
std::string input_name =
session.GetInputNameAllocated(0, allocator).get();
std::string output_name =
session.GetOutputNameAllocated(0, allocator).get();
const char* input_names[] = {input_name.c_str()};
const char* output_names[] = {output_name.c_str()};

// SqueezeNet input: 1 × 3 × 224 × 224 = 150 528 floats
std::vector<int64_t> input_shape = {1, 3, 224, 224};
constexpr size_t kInputSize = 1 * 3 * 224 * 224;
std::vector<float> input_values(kInputSize, 1.0f);

Ort::MemoryInfo mem_info =
Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeDefault);

Ort::Value input_tensor = Ort::Value::CreateTensor<float>(
mem_info, input_values.data(), input_values.size(),
input_shape.data(), input_shape.size());

auto outputs = session.Run(Ort::RunOptions{nullptr}, input_names,
&input_tensor, 1, output_names, 1);

EXPECT_EQ(outputs.size(), 1u) << phase_label;
if (outputs.empty()) return {};

auto type_shape = outputs[0].GetTensorTypeAndShapeInfo();
std::vector<int64_t> out_shape = type_shape.GetShape();

// Expected: [1, 1000, 1, 1]
EXPECT_EQ(out_shape.size(), 4u) << phase_label;
if (out_shape.size() == 4u) {
EXPECT_EQ(out_shape[0], 1) << phase_label;
EXPECT_EQ(out_shape[1], 1000) << phase_label;
EXPECT_EQ(out_shape[2], 1) << phase_label;
EXPECT_EQ(out_shape[3], 1) << phase_label;
}

size_t num_elements = type_shape.GetElementCount();
EXPECT_EQ(num_elements, 1000u) << phase_label;

const float* out_data = outputs[0].GetTensorData<float>();
std::vector<float> result(out_data, out_data + num_elements);

for (size_t i = 0; i < num_elements; ++i) {
EXPECT_TRUE(std::isfinite(result[i]))
<< phase_label << " index " << i << " is not finite";
}

return result;
}

// Compare two output vectors element-wise within a tolerance.
static void CompareOutputs(const std::vector<float>& expected,
const std::vector<float>& actual,
const std::string& label,
float tolerance = 1e-4f) {
ASSERT_EQ(expected.size(), actual.size()) << label << " size mismatch";
for (size_t i = 0; i < expected.size(); ++i) {
EXPECT_NEAR(expected[i], actual[i], tolerance)
<< label << " mismatch at index " << i;
}
}
};

namespace onnxruntime {
namespace test {

// Test 1: Dynamic workload-type switching with consistency check
// Baseline (no workload type) → Efficient → Default
TEST_F(OVEPWorkloadTypeTests, OVEPWorkloadTypeDynamicSwitch) {
if (!IsNPUAvailable()) {
GTEST_SKIP() << "NPU device not available, skipping workload type test";
}

Ort::SessionOptions session_options;
std::unordered_map<std::string, std::string> ov_options;
ov_options["device_type"] = "NPU";

Ort::Session session = CreateSqueezeNetSession(session_options, ov_options);

const char* const keys[] = {"ep.dynamic.workload_type"};

// Phase 1: Baseline (no workload type set)
auto baseline_output = RunSqueezeNet(session, "Baseline");

// Phase 2: Switch to Efficient
const char* const eff_val[] = {"Efficient"};
session.SetEpDynamicOptions(keys, eff_val, 1);
auto efficient_output = RunSqueezeNet(session, "Efficient");

// Phase 3: Switch to Default
const char* const def_val[] = {"Default"};
session.SetEpDynamicOptions(keys, def_val, 1);
auto default_output = RunSqueezeNet(session, "Default");

// All modes should produce the same results
CompareOutputs(baseline_output, efficient_output,
"Baseline vs Efficient");
CompareOutputs(baseline_output, default_output,
"Baseline vs Default");
}

// Test 2: Multiple inferences per workload mode
// Runs 10 inferences in each mode:
// Baseline × 10 → Efficient × 10 → Default × 10
TEST_F(OVEPWorkloadTypeTests, OVEPWorkloadTypeMultipleInferencesPerMode) {
if (!IsNPUAvailable()) {
GTEST_SKIP() << "NPU device not available, skipping workload type test";
}

Ort::SessionOptions session_options;
std::unordered_map<std::string, std::string> ov_options;
ov_options["device_type"] = "NPU";

Ort::Session session = CreateSqueezeNetSession(session_options, ov_options);

const char* const keys[] = {"ep.dynamic.workload_type"};
const char* const eff_val[] = {"Efficient"};
const char* const def_val[] = {"Default"};

constexpr int kIterationsPerMode = 10;

// Phase 1: Baseline – 10 runs without workload type
// Save the first run as the reference output.
auto reference_output = RunSqueezeNet(session, "Baseline iter 0");
for (int i = 1; i < kIterationsPerMode; ++i) {
auto output = RunSqueezeNet(session, "Baseline iter " + std::to_string(i));
CompareOutputs(reference_output, output,
"Baseline iter " + std::to_string(i) + " vs reference");
}

// Phase 2: Efficient – 10 runs
session.SetEpDynamicOptions(keys, eff_val, 1);
for (int i = 0; i < kIterationsPerMode; ++i) {
auto output = RunSqueezeNet(session, "Efficient iter " + std::to_string(i));
CompareOutputs(reference_output, output,
"Efficient iter " + std::to_string(i) + " vs reference");
}

// Phase 3: Default – 10 runs
session.SetEpDynamicOptions(keys, def_val, 1);
for (int i = 0; i < kIterationsPerMode; ++i) {
auto output = RunSqueezeNet(session, "Default iter " + std::to_string(i));
CompareOutputs(reference_output, output,
"Default iter " + std::to_string(i) + " vs reference");
}
}

} // namespace test
} // namespace onnxruntime
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ RUN dnf install -y --nodocs \
&& dnf clean all \
&& rm -rf /var/cache/dnf

ENV INTEL_OPENVINO_DIR=/opt/intel/openvino_2026.1.0
ARG OPENVINO_PACKAGE_URL=https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.1/linux/openvino_toolkit_rhel8_2026.1.0.21367.63e31528c62_x86_64.tgz
ENV INTEL_OPENVINO_DIR=/opt/intel/openvino_2026.2.0
ARG OPENVINO_PACKAGE_URL=https://storage.openvinotoolkit.org/repositories/openvino/packages/2026.2/linux/openvino_toolkit_rhel8_2026.2.0.21903.52ddc073857_x86_64.tgz
ARG TEMP_DIR=/tmp/openvino_installer

RUN mkdir -p ${TEMP_DIR} && \
Expand Down
Loading