Skip to content
Closed
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
291ea73
Reshape support
atamas19 Feb 26, 2026
b6bc436
Modified README
atamas19 Feb 26, 2026
73fb7a8
Implemented suggestion
atamas19 Feb 26, 2026
85a0f50
Reshape support
atamas19 Feb 26, 2026
18ece96
Modified README
atamas19 Feb 26, 2026
dfcd6e3
Implemented suggestion
atamas19 Feb 26, 2026
13bf3c2
Fixed copyright issue
atamas19 Feb 26, 2026
290fdd4
Merge branch 'Onnxrt_reshape_support' of https://github.com/atamas19/…
atamas19 Feb 26, 2026
66f63e6
Restored simulation.cpp
atamas19 Mar 2, 2026
f8f5602
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 2, 2026
5358c97
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 4, 2026
5abd3f7
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 4, 2026
980ba48
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 5, 2026
6db98da
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 5, 2026
b8e0674
Merge branch 'master' into Onnxrt_reshape_support
atamas19 Mar 5, 2026
29f7c6e
Reshape support
atamas19 Feb 26, 2026
3a5a106
Modified README
atamas19 Feb 26, 2026
19af618
Implemented suggestion
atamas19 Feb 26, 2026
09665d0
Fixed copyright issue
atamas19 Feb 26, 2026
4e73f1f
Reshape support
atamas19 Feb 26, 2026
3431fb4
Implemented suggestion
atamas19 Feb 26, 2026
f47c093
[TRANSFORMATIONS] Align fused SDPA output (#34097)
mryzhov Mar 3, 2026
82fdd41
[NPU] Update README with CIP related info (#34439)
PatrikStepan Mar 3, 2026
da5ffe4
Bump babel from 2.17.0 to 2.18.0 (#33928)
dependabot[bot] Mar 3, 2026
faf31f5
Bump pytz from 2022.7 to 2026.1.post1 (#34458)
dependabot[bot] Mar 3, 2026
cc5e122
Bump imagesize from 1.4.1 to 1.5.0 (#34459)
dependabot[bot] Mar 3, 2026
f88690b
[CI] [GHA] Periodically clean HF cache on Windows (#34224)
akashchi Mar 3, 2026
b7adfe4
[ONNX FE] Convert ONNX Attention op directly to SDPA instead of using…
evkotov Mar 3, 2026
0a63c6e
[NPU] Extend match pattern for `position_ids` (#33994)
mengweiguo Mar 3, 2026
6ae1a01
[NPU] Avoid loading the compiler library in model_import() (#34392)
pereanub Mar 3, 2026
c1dbd31
[PyOV] Bump pybind to 3.0.2 and fix new issues (#34468)
p-wysocki Mar 3, 2026
da66626
[pyapi] Fix create ov::Tensor from numpy scalar and shape (#34453)
praasz Mar 3, 2026
88bdb4e
[LPT] FQStripping transformation rework (#33989)
v-Golubev Mar 4, 2026
f013b81
Fix MVNFusion logic for handling square operation with self-multiply …
Prithviraj-R Mar 4, 2026
5dfc8e4
[chore] Add more DNS-related error patterns to workflow rerunner (#34…
ababushk Mar 4, 2026
0c5b7fe
Update latency mode threading on Pcore + LP Ecore platform (#33931)
wangleis Mar 4, 2026
35f730f
[NPUW] Replacing longrope pattern with precalculated values (#33011)
AlexanderKalistratov Mar 4, 2026
38c663e
[NPU] Add internal support for ENABLE_WEIGHTLESS (#34460)
PatrikStepan Mar 4, 2026
96681a5
[NPUW][VLM] Transformers 4.57.6 Gemma sliding mask fix (#34424)
AlexanderKalistratov Mar 4, 2026
3a4fb14
[NPU] Use llvm as key work to detect new format of blob (#34448)
XinWangIntel Mar 4, 2026
fe2576a
UD2026.08 NPU Compiler integration (#34465)
Maxim-Doronin Mar 4, 2026
3cd41bb
[NPU] Adding support for is_property_supported() plugin method (#34464)
pereanub Mar 4, 2026
ef11b25
[GPU] Extend in-place crop optimization to support batch-axis split w…
andrew-k-park Mar 5, 2026
c9fa398
[PyOV] Update Python API stub files (#34500)
sys-openvino-ci Mar 5, 2026
eec5d9d
[GPU] Fix register spill in paged_attention_opt single-token kernel (…
andrew-k-park Mar 5, 2026
d7aa6d3
[GPU] ConvertMOEToMOECompressed: keep precisions consistency after MO…
v-Golubev Mar 5, 2026
787b45b
Fix SDL429: preserve /guard:cf linker flag for ov_node_addon (#34234)
mlukasze Mar 5, 2026
71fb20c
Memcheck Windows GPU memory sampling (#33800)
culhatsker Mar 5, 2026
2c801f6
[PT FE] Support scalar (rank-0) input for aten::log_softmax and aten:…
evkotov Mar 5, 2026
0a59c85
[TFL FE] Add bounds checking in sparse tensor deserialization (#34073)
evkotov Mar 5, 2026
b39bf20
[NPUW] Use avoids patterns for kokoro fp32 subgraphs offloading to CP…
sshumihi Mar 5, 2026
ee4683e
Merge branch 'Onnxrt_reshape_support' of https://github.com/atamas19/…
atamas19 Mar 6, 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
2 changes: 1 addition & 1 deletion src/plugins/intel_npu/tools/protopipe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ log_level: INFO
- `name` or `path` - **Required**. Path to the model file.
- `framework` - **Optional**. Framework to use for inference: *onnxrt*, *openvino*. (**Default**: *openvino*)
- `input_data`, `output_data`, `metric`, `random` - **Optional**. Follow [Use-cases](#use-cases) to learn the details.
- `reshape` - **Optional**. Set shape for input layers. For example, "input1: [1,3,224,224], input2: [1,4]" or "[1,3,224,224]" in case of one input layer.
#### OpenVINO parameters
- `priority` - **Optional**. Model priority: _HIGH_, _MEDIUM_, _LOW_. (Default: _MEDIUM_)
- `config` - **Optional**. OpenVINO Plugin specific parameters.
Expand All @@ -60,7 +61,6 @@ log_level: INFO
- `ol` - **Optional**. Output layer layout.
- `iml` - **Optional**. Input model layout.
- `oml` - **Optional**. Output model layout.
- `reshape` - **Optional**. Set shape for input layers. For example, "input1: [1,3,224,224], input2: [1,4]" or "[1,3,224,224]" in case of one input layer.
- `clamp_outputs` - **Optional**. Clamps all model outputs to the valid range for their precision. Requires `op` to be set for it to take effect.

Examples:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//
// Copyright (C) 2018-2026 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
Expand Down Expand Up @@ -432,6 +431,9 @@ struct convert<ONNXRTParams> {
if (node["opt_level"]) {
params.opt_level = node["opt_level"].as<int>();
}
if (node["reshape"]) {
params.reshape = node["reshape"].as<LayerVariantAttr<std::vector<size_t>>>();
}
return true;
}
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//
// Copyright (C) 2018-2026 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
Expand Down Expand Up @@ -108,6 +107,8 @@ struct ONNXRTParams {
using EP = std::variant<std::monostate, OpenVINO>;
std::optional<int> opt_level;
EP ep;

LayerVariantAttr<std::vector<size_t>> reshape;
};

using InferenceParams = std::variant<std::monostate, OpenVINOParams, ONNXRTParams>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//
// Copyright (C) 2018-2026 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
Expand Down Expand Up @@ -42,5 +41,7 @@ InOutLayers LayersReader::readLayers(const InferenceParams& params) {
// NB: Using OpenVINO to read the i/o layers information for *.onnx model
OpenVINOParams ov;
ov.path = OpenVINOParams::ModelPath{ort.model_path, ""};
// NB: Pass reshape info to handle models with dynamic shapes
ov.reshape = ort.reshape;
return getOVReader().readLayers(ov, true /* use_results_names */);
}
38 changes: 26 additions & 12 deletions src/plugins/intel_npu/tools/protopipe/src/simulation/simulation.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//
// Copyright (C) 2018-2026 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
Expand Down Expand Up @@ -73,28 +72,43 @@ static cv::gapi::GNetPackage getNetPackage(const std::string& tag, const OpenVIN
return cv::gapi::networks(*network);
}

// NB: Convert reshape map to OpenVINO EP reshape_input format: "input1[d1,d2] input2[d1,d2,d3]"
static std::string toReshapeInputString(const AttrMap<std::vector<size_t>>& reshape_map) {
std::string result;
for (const auto& [name, shape] : reshape_map) {
if (!result.empty()) {
result += " ";
}
result += name + "[";
for (size_t i = 0; i < shape.size(); ++i) {
if (i > 0) result += ",";
result += std::to_string(shape[i]);
}
result += "]";
}
return result;
}

static void cfgExecutionProvider(cv::gapi::onnx::Params<cv::gapi::Generic>& network,
const ONNXRTParams::OpenVINO& ovep) {
network.cfgAddExecutionProvider(cv::gapi::onnx::ep::OpenVINO{ovep.params_map});
}

static void cfgExecutionProvider(cv::gapi::onnx::Params<cv::gapi::Generic>& network, const ONNXRTParams::EP& ep) {
// NB: Nothing to configure for default MLAS EP
if (std::holds_alternative<std::monostate>(ep)) {
return;
}
// TODO: Extend for any other available execution provider
ASSERT(std::holds_alternative<ONNXRTParams::OpenVINO>(ep));
cfgExecutionProvider(network, std::get<ONNXRTParams::OpenVINO>(ep));
}

static cv::gapi::GNetPackage getNetPackage(const std::string& tag, const ONNXRTParams& params) {
cv::gapi::onnx::Params<cv::gapi::Generic> network{tag, params.model_path};
network.cfgSessionOptions(params.session_options);
if (params.opt_level.has_value()) {
network.cfgOptLevel(params.opt_level.value());
}
cfgExecutionProvider(network, params.ep);
if (std::holds_alternative<ONNXRTParams::OpenVINO>(params.ep)) {
auto ovep = std::get<ONNXRTParams::OpenVINO>(params.ep);
// NB: Generate reshape_input from reshape
if (std::holds_alternative<AttrMap<std::vector<size_t>>>(params.reshape)) {
ovep.params_map["reshape_input"] = toReshapeInputString(std::get<AttrMap<std::vector<size_t>>>(params.reshape));
}
cfgExecutionProvider(network, ovep);
}

return cv::gapi::networks(network);
}

Expand Down
2 changes: 1 addition & 1 deletion src/plugins/intel_npu/tools/protopipe/version.hpp.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#pragma once

#define APP_VERSION "v1.2.2-@GIT_SHA@"
#define APP_VERSION "v1.2.3-@GIT_SHA@"
Loading