Skip to content

Commit 44b0932

Browse files
authored
Merge branch 'master' into gemma2_swa
2 parents c153f67 + e403c69 commit 44b0932

File tree

86 files changed

+3794
-521
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+3794
-521
lines changed

.github/actions/handle_docker/get_images_to_build.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,21 @@
66
import re
77
import sys
88

9-
from distutils.util import strtobool
109
from helpers import *
1110
from images_api import *
1211

1312

13+
def str_to_bool(value):
14+
"""Convert string to boolean, replacing deprecated distutils.util.strtobool"""
15+
value = value.lower()
16+
if value in ('y', 'yes', 't', 'true', 'on', '1'):
17+
return True
18+
elif value in ('n', 'no', 'f', 'false', 'off', '0'):
19+
return False
20+
else:
21+
raise ValueError(f"Invalid truth value: {value!r}")
22+
23+
1424
def parse_args():
1525
parser = argparse.ArgumentParser(description='Returns list of Docker images to build for a given workflow')
1626
parser.add_argument('-i', '--images', required=True, help='Comma-separated docker images')
@@ -23,9 +33,9 @@ def parse_args():
2333
parser.add_argument('--base_tag_file', default=None, required=False, help='Base docker tag file path')
2434
parser.add_argument('--ref_name', required=False, default='', help='GitHub ref name')
2535
parser.add_argument('--repo', default='openvinotoolkit/openvino', help='GitHub repository')
26-
parser.add_argument('--docker_env_changed', type=lambda x: bool(strtobool(x)), default=True,
36+
parser.add_argument('--docker_env_changed', type=lambda x: bool(str_to_bool(x)), default=True,
2737
help='Whether PR changes docker env')
28-
parser.add_argument('--dockerfiles_changed', type=lambda x: bool(strtobool(x)), default=True,
38+
parser.add_argument('--dockerfiles_changed', type=lambda x: bool(str_to_bool(x)), default=True,
2939
help='Whether PR changes dockerfiles')
3040
parser.add_argument('--action_path', default='.github/actions/handle_docker', help='Path to this GitHub action')
3141
parser.add_argument('--push', action='store_true', required=False, help='Whether to push images to registry')
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
ghapi==1.0.4
1+
ghapi==1.0.9
2+
# pin fastcore CVS-179495
3+
fastcore==1.12.1

.github/dockerfiles/docker_tag

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
pr-33079
1+
pr-33674

docs/articles_en/openvino-workflow/running-inference/inference-devices-and-modes/npu-device.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,12 +147,14 @@ offer a limited set of supported OpenVINO features.
147147
ov::intel_npu::qdq_optimization
148148
ov::intel_npu::qdq_optimization_aggressive
149149
ov::intel_npu::turbo
150+
ov::intel_npu::platform
150151
ov::intel_npu::tiles
151152
ov::intel_npu::max_tiles
152153
ov::intel_npu::bypass_umd_caching
153154
ov::intel_npu::defer_weights_load
154155
ov::intel_npu::run_inferences_sequentially
155156
ov::intel_npu::disable_idle_memory_prunning
157+
ov::intel_npu::compiler_type
156158
157159
.. tab-item:: Read-only properties
158160

docs/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pyyaml==6.0.3
3333
requests==2.32.5
3434
six==1.17.0
3535
snowballstemmer==3.0.1
36-
soupsieve==2.8.1
36+
soupsieve==2.8.2
3737
sphinx==8.1.3
3838
sphinx-copybutton==0.5.2
3939
sphinx-design==0.6.1

src/bindings/python/src/openvino/_pyopenvino/properties/intel_npu.pyi

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,52 @@ import typing
55
"""
66
openvino.properties.intel_npu submodule that simulates ov::intel_npu
77
"""
8-
__all__: list[str] = ['bypass_umd_caching', 'compilation_mode_params', 'compiler_dynamic_quantization', 'compiler_version', 'defer_weights_load', 'device_alloc_mem_size', 'device_total_mem_size', 'driver_version', 'max_tiles', 'qdq_optimization', 'qdq_optimization_aggressive', 'run_inferences_sequentially', 'tiles', 'turbo']
8+
__all__: list[str] = ['bypass_umd_caching', 'compilation_mode_params', 'compiler_dynamic_quantization', 'compiler_version', 'defer_weights_load', 'device_alloc_mem_size', 'device_total_mem_size', 'driver_version', 'max_tiles', 'qdq_optimization', 'qdq_optimization_aggressive', 'run_inferences_sequentially', 'tiles', 'turbo', 'platform', 'CompilerType', 'compiler_type']
9+
class CompilerType:
10+
"""
11+
Members:
12+
13+
PLUGIN
14+
15+
DRIVER
16+
"""
17+
PLUGIN: typing.ClassVar[CompilerType] # value = <CompilerType.PLUGIN: 0>
18+
DRIVER: typing.ClassVar[CompilerType] # value = <CompilerType.DRIVER: 1>
19+
__members__: typing.ClassVar[dict[str, CompilerType]] # value = {'PLUGIN': <CompilerType.PLUGIN: 0>, 'DRIVER': <CompilerType.DRIVER: 1>}
20+
def __eq__(self, other: typing.Any) -> bool:
21+
...
22+
def __ge__(self, other: typing.Any) -> bool:
23+
...
24+
def __getstate__(self) -> int:
25+
...
26+
def __gt__(self, other: typing.Any) -> bool:
27+
...
28+
def __hash__(self) -> int:
29+
...
30+
def __index__(self) -> int:
31+
...
32+
def __init__(self, value: typing.SupportsInt) -> None:
33+
...
34+
def __int__(self) -> int:
35+
...
36+
def __le__(self, other: typing.Any) -> bool:
37+
...
38+
def __lt__(self, other: typing.Any) -> bool:
39+
...
40+
def __ne__(self, other: typing.Any) -> bool:
41+
...
42+
def __repr__(self) -> str:
43+
...
44+
def __setstate__(self, state: typing.SupportsInt) -> None:
45+
...
46+
def __str__(self) -> str:
47+
...
48+
@property
49+
def name(self) -> str:
50+
...
51+
@property
52+
def value(self) -> int:
53+
...
954
@typing.overload
1055
def bypass_umd_caching() -> str:
1156
...
@@ -74,3 +119,12 @@ def turbo() -> str:
74119
@typing.overload
75120
def turbo(arg0: bool) -> tuple[str, openvino._pyopenvino.OVAny]:
76121
...
122+
@typing.overload
123+
def platform() -> str:
124+
...
125+
@typing.overload
126+
def platform(arg0: str) -> tuple[str, openvino._pyopenvino.OVAny]:
127+
...
128+
@typing.overload
129+
def compiler_type(arg0: CompilerType) -> tuple[str, openvino._pyopenvino.OVAny]:
130+
...

src/bindings/python/src/openvino/properties/intel_npu/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# Copyright (C) 2018-2026 Intel Corporation
33
# SPDX-License-Identifier: Apache-2.0
44

5+
# Enums
6+
from openvino._pyopenvino.properties.intel_npu import CompilerType
7+
58
# Properties
69
import openvino._pyopenvino.properties.intel_npu as __intel_npu
710
from openvino.properties._properties import __make_properties

src/bindings/python/src/pyopenvino/core/properties/properties.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ void regmodule_properties(py::module m) {
343343

344344
wrap_property_RW(m_intel_npu, ov::intel_npu::compilation_mode_params, "compilation_mode_params");
345345
wrap_property_RW(m_intel_npu, ov::intel_npu::turbo, "turbo");
346+
wrap_property_RW(m_intel_npu, ov::intel_npu::platform, "platform");
346347
wrap_property_RW(m_intel_npu, ov::intel_npu::tiles, "tiles");
347348
wrap_property_RW(m_intel_npu, ov::intel_npu::max_tiles, "max_tiles");
348349
wrap_property_RW(m_intel_npu, ov::intel_npu::bypass_umd_caching, "bypass_umd_caching");
@@ -352,4 +353,10 @@ void regmodule_properties(py::module m) {
352353
wrap_property_RW(m_intel_npu, ov::intel_npu::qdq_optimization_aggressive, "qdq_optimization_aggressive");
353354
wrap_property_RW(m_intel_npu, ov::intel_npu::run_inferences_sequentially, "run_inferences_sequentially");
354355
wrap_property_RW(m_intel_npu, ov::intel_npu::disable_idle_memory_prunning, "disable_idle_memory_prunning");
356+
357+
py::enum_<ov::intel_npu::CompilerType>(m_intel_npu, "CompilerType", py::arithmetic())
358+
.value("DRIVER", ov::intel_npu::CompilerType::DRIVER)
359+
.value("PLUGIN", ov::intel_npu::CompilerType::PLUGIN);
360+
361+
wrap_property_RW(m_intel_npu, ov::intel_npu::compiler_type, "compiler_type");
355362
}

src/bindings/python/src/pyopenvino/utils/utils.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "openvino/frontend/decoder.hpp"
2020
#include "openvino/frontend/graph_iterator.hpp"
2121
#include "openvino/runtime/intel_cpu/properties.hpp"
22+
#include "openvino/runtime/intel_npu/properties.hpp"
2223
#include "openvino/runtime/properties.hpp"
2324

2425
using Version = ov::pass::Serialize::Version;
@@ -266,6 +267,8 @@ py::object from_ov_any(const ov::Any& any) {
266267
return py::cast(luid_stream.str());
267268
} else if (any.is<ov::device::PCIInfo>()) {
268269
return py::cast(any.as<ov::device::PCIInfo>());
270+
} else if (any.is<ov::intel_npu::CompilerType>()) {
271+
return py::cast(any.as<ov::intel_npu::CompilerType>());
269272
// Custom FrontEnd Types
270273
} else if (any.is<ov::frontend::type::List>()) {
271274
return py::cast(any.as<ov::frontend::type::List>());
@@ -555,6 +558,8 @@ ov::Any py_object_to_any(const py::object& py_obj) {
555558
return py::cast<ov::streams::Num>(py_obj);
556559
} else if (py::isinstance<ov::WorkloadType>(py_obj)) {
557560
return py::cast<ov::WorkloadType>(py_obj);
561+
} else if (py::isinstance<ov::intel_npu::CompilerType>(py_obj)) {
562+
return py::cast<ov::intel_npu::CompilerType>(py_obj);
558563
} else if (py::isinstance<ov::Tensor>(py_obj)) {
559564
return py::cast<ov::Tensor>(py_obj);
560565
} else if (py::isinstance<ov::Output<ov::Node>>(py_obj)) {

src/bindings/python/tests/test_runtime/test_properties.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,13 @@ def test_properties_ro(ov_property_ro, expected_value):
461461
"NPU_TURBO",
462462
((True, True),),
463463
),
464+
(
465+
intel_npu.platform,
466+
"NPU_PLATFORM",
467+
(("3720", "3720"),
468+
("4000", "4000"),
469+
("5010", "5010"),),
470+
),
464471
(
465472
intel_npu.tiles,
466473
"NPU_TILES",
@@ -501,6 +508,12 @@ def test_properties_ro(ov_property_ro, expected_value):
501508
"NPU_DISABLE_IDLE_MEMORY_PRUNING",
502509
((True, True),),
503510
),
511+
(
512+
intel_npu.compiler_type,
513+
"NPU_COMPILER_TYPE",
514+
((intel_npu.CompilerType.DRIVER, intel_npu.CompilerType.DRIVER),
515+
(intel_npu.CompilerType.PLUGIN, intel_npu.CompilerType.PLUGIN),),
516+
),
504517
(props.enable_weightless, "ENABLE_WEIGHTLESS", ((True, True), (False, False))),
505518
],
506519
)

0 commit comments

Comments
 (0)