Skip to content

Commit ea8cf21

Browse files
authored
Added support for 2025.2 and enabled SimplifiedLayerNormalization op (#714)
* Added support for 2025.2 and SimplifiedLayerNormalization op * [OVEP] Update OV version to 2025.2.0 * Revert "[OVEP] Update OV version to 2025.2.0" This reverts commit d129250.
1 parent acb29b6 commit ea8cf21

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

cmake/onnxruntime_providers_openvino.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
# Header paths
1515
find_package(OpenVINO REQUIRED COMPONENTS Runtime ONNX)
16-
if(OpenVINO_VERSION VERSION_LESS 2024.5)
17-
message(FATAL_ERROR "OpenVINO 2024.5 and newer are supported. Please, use latest OpenVINO release")
16+
if(OpenVINO_VERSION VERSION_LESS 2025.0)
17+
message(FATAL_ERROR "OpenVINO 2025.0 and newer are supported. Please, use latest OpenVINO release")
1818
endif()
1919

2020
if(OpenVINO_VERSION VERSION_GREATER_EQUAL 2024.4)

onnxruntime/core/providers/openvino/ov_versions/capability.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,14 @@ GetCapability::GetCapability(const EPCtxHandler& ep_ctx_handler,
4141
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
4242
}
4343

44-
#if OPENVINO_VERSION_MAJOR == 2024 && OPENVINO_VERSION_MINOR == 5
45-
data_ops_ = new DataOps(graph_viewer_, V_2024_5, device_type_, npu_qdq_optimizer_enabled);
46-
#elif OPENVINO_VERSION_MAJOR == 2024 && OPENVINO_VERSION_MINOR == 6
47-
data_ops_ = new DataOps(graph_viewer_, V_2024_6, device_type_, npu_qdq_optimizer_enabled);
48-
#elif OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 0
44+
#if OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 0
4945
data_ops_ = new DataOps(graph_viewer_, V_2025_0, device_type_, npu_qdq_optimizer_enabled);
5046
#elif OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 1
5147
data_ops_ = new DataOps(graph_viewer_, V_2025_1, device_type_, npu_qdq_optimizer_enabled);
48+
#elif OPENVINO_VERSION_MAJOR == 2025 && OPENVINO_VERSION_MINOR == 2
49+
data_ops_ = new DataOps(graph_viewer_, V_2025_2, device_type_, npu_qdq_optimizer_enabled);
5250
#else
53-
data_ops_ = new DataOps(graph_viewer_, V_2025_1, device_type_, npu_qdq_optimizer_enabled);
51+
data_ops_ = new DataOps(graph_viewer_, V_2025_2, device_type_, npu_qdq_optimizer_enabled);
5452
#endif
5553
}
5654

onnxruntime/core/providers/openvino/ov_versions/data_ops.cc

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ std::vector<SupportedOp> supported_op_mode = {
229229
{"Sigmoid", V_2020_4, {"CPU", "GPU"}},
230230
{"Sign", V_2020_4, {"CPU"}},
231231
{"Sign", V_2022_1, {"GPU"}},
232+
{"SimplifiedLayerNormalization", V_2025_2, {"CPU", "GPU"}},
232233
{"Sin", V_2022_1, {"CPU", "GPU"}},
233234
{"Sinh", V_2020_4, {"CPU"}},
234235
{"Size", V_2022_1, {"CPU", "GPU"}},
@@ -402,7 +403,7 @@ void DataOps::populate_op_mode_supported() {
402403

403404
// populate unsupportedmode_t
404405
{
405-
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},
406+
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},
406407
[this](const Node* node, const InitializedTensorSet&) {
407408
// If the Input of ReduceMax op is UINT8, it is rejected (Due to output mismatch)
408409
for (size_t i = 0; i < node->InputDefs().size(); i++) {
@@ -418,7 +419,8 @@ void DataOps::populate_op_mode_supported() {
418419
}
419420
{
420421
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2,
421-
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1},
422+
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1,
423+
V_2025_2},
422424
[this](const Node* node, const InitializedTensorSet&) {
423425
const auto& input_args = node->InputDefs();
424426
const auto& input_arg = (input_args.size() > 1) ? input_args[1] : input_args[0];
@@ -437,7 +439,8 @@ void DataOps::populate_op_mode_supported() {
437439
}
438440
{
439441
UnsupportedOpMode obj = {{V_2023_1, V_2023_2, V_2023_3, V_2024_0, V_2024_1, V_2024_2,
440-
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1},
442+
V_2024_3, V_2024_4, V_2024_5, V_2024_6, V_2025_0, V_2025_1,
443+
V_2025_2},
441444
[this](const Node* node, const InitializedTensorSet&) {
442445
// If the operator is unsqueeze
443446
// If axes is an input, then we cannot produce a static graph.
@@ -452,8 +455,8 @@ void DataOps::populate_op_mode_supported() {
452455
op_list_.insert({"Unsqueeze", obj});
453456
}
454457
{
455-
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,
456-
V_2025_0, V_2025_1},
458+
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,
459+
V_2024_6, V_2025_0, V_2025_1, V_2025_2},
457460
[this](const Node* node, const InitializedTensorSet&) {
458461
// check for attributes
459462
auto& upsample_attr = node->GetAttributes();

onnxruntime/core/providers/openvino/ov_versions/data_ops.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ enum versionNum {
3535
V_2024_5,
3636
V_2024_6,
3737
V_2025_0,
38-
V_2025_1
38+
V_2025_1,
39+
V_2025_2
3940
};
4041

4142
using VersionNum = enum versionNum;

0 commit comments

Comments
 (0)