bigdl-core-npu 2.5.0__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bigdl_core_npu-2.5.0.dist-info/METADATA +35 -0
- bigdl_core_npu-2.5.0.dist-info/RECORD +223 -0
- bigdl_core_npu-2.5.0.dist-info/WHEEL +5 -0
- bigdl_core_npu-2.5.0.dist-info/top_level.txt +1 -0
- intel_npu_acceleration_library/__init__.py +24 -0
- intel_npu_acceleration_library/_version.py +6 -0
- intel_npu_acceleration_library/backend/__init__.py +37 -0
- intel_npu_acceleration_library/backend/base.py +215 -0
- intel_npu_acceleration_library/backend/bindings.py +279 -0
- intel_npu_acceleration_library/backend/compression.py +24 -0
- intel_npu_acceleration_library/backend/convolution.py +58 -0
- intel_npu_acceleration_library/backend/factory.py +944 -0
- intel_npu_acceleration_library/backend/linear.py +60 -0
- intel_npu_acceleration_library/backend/matmul.py +59 -0
- intel_npu_acceleration_library/backend/mlp.py +58 -0
- intel_npu_acceleration_library/backend/ops.py +141 -0
- intel_npu_acceleration_library/backend/qlinear.py +71 -0
- intel_npu_acceleration_library/backend/qmatmul.py +66 -0
- intel_npu_acceleration_library/backend/runtime.py +210 -0
- intel_npu_acceleration_library/backend/sdpa.py +107 -0
- intel_npu_acceleration_library/backend/tensor.py +1050 -0
- intel_npu_acceleration_library/backend/utils.py +70 -0
- intel_npu_acceleration_library/compiler.py +194 -0
- intel_npu_acceleration_library/device.py +230 -0
- intel_npu_acceleration_library/dtypes.py +122 -0
- intel_npu_acceleration_library/external/openvino/__init__.py +71 -0
- intel_npu_acceleration_library/external/openvino/_offline_transformations/__init__.py +20 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/_pyopenvino.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/__init__.py +34 -0
- intel_npu_acceleration_library/external/openvino/frontend/frontend.py +44 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/__init__.py +19 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/fx_decoder.py +352 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/gptq.py +139 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/module_extension.py +39 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/patch_model.py +98 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend.py +119 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend_utils.py +85 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/compile.py +141 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/decompositions.py +116 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/execute.py +189 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/op_support.py +289 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/partition.py +118 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/ts_decoder.py +536 -0
- intel_npu_acceleration_library/external/openvino/frontend/pytorch/utils.py +256 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/__init__.py +16 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/graph_iterator.py +116 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/node_decoder.py +219 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp310-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp311-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp312-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp38-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp39-win_amd64.pyd +0 -0
- intel_npu_acceleration_library/external/openvino/frontend/tensorflow/utils.py +460 -0
- intel_npu_acceleration_library/external/openvino/helpers/__init__.py +6 -0
- intel_npu_acceleration_library/external/openvino/helpers/packing.py +87 -0
- intel_npu_acceleration_library/external/openvino/preprocess/README.md +60 -0
- intel_npu_acceleration_library/external/openvino/preprocess/__init__.py +26 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/preprocess_converter.py +47 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/requirements.txt +4 -0
- intel_npu_acceleration_library/external/openvino/preprocess/torchvision/torchvision_preprocessing.py +347 -0
- intel_npu_acceleration_library/external/openvino/properties/__init__.py +21 -0
- intel_npu_acceleration_library/external/openvino/properties/_properties.py +55 -0
- intel_npu_acceleration_library/external/openvino/properties/device/__init__.py +14 -0
- intel_npu_acceleration_library/external/openvino/properties/hint/__init__.py +15 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_auto/__init__.py +12 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_cpu/__init__.py +8 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_gpu/__init__.py +12 -0
- intel_npu_acceleration_library/external/openvino/properties/intel_gpu/hint/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/properties/log/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/properties/streams/__init__.py +11 -0
- intel_npu_acceleration_library/external/openvino/runtime/__init__.py +85 -0
- intel_npu_acceleration_library/external/openvino/runtime/exceptions.py +17 -0
- intel_npu_acceleration_library/external/openvino/runtime/ie_api.py +631 -0
- intel_npu_acceleration_library/external/openvino/runtime/op/__init__.py +18 -0
- intel_npu_acceleration_library/external/openvino/runtime/op/util/__init__.py +22 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset1/__init__.py +112 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset1/ops.py +3067 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset10/__init__.py +179 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset10/ops.py +173 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset11/__init__.py +179 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset11/ops.py +107 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset12/__init__.py +180 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset12/ops.py +120 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset13/__init__.py +188 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset13/ops.py +399 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset14/__init__.py +190 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset14/ops.py +171 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset15/__init__.py +10 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset15/ops.py +85 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset2/__init__.py +118 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset2/ops.py +216 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset3/__init__.py +134 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset3/ops.py +638 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset4/__init__.py +145 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset4/ops.py +464 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset5/__init__.py +152 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset5/ops.py +372 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset6/__init__.py +154 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset6/ops.py +189 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset7/__init__.py +158 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset7/ops.py +169 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset8/__init__.py +169 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset8/ops.py +783 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset9/__init__.py +175 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset9/ops.py +341 -0
- intel_npu_acceleration_library/external/openvino/runtime/opset_utils.py +22 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/__init__.py +19 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/graph_rewrite.py +33 -0
- intel_npu_acceleration_library/external/openvino/runtime/passes/manager.py +26 -0
- intel_npu_acceleration_library/external/openvino/runtime/properties/__init__.py +38 -0
- intel_npu_acceleration_library/external/openvino/runtime/properties/hint/__init__.py +25 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/__init__.py +7 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/broadcasting.py +44 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/__init__.py +8 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/data_dispatcher.py +429 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/wrappers.py +148 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/decorators.py +70 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/input_validation.py +133 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/node_factory.py +127 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/reduction.py +25 -0
- intel_npu_acceleration_library/external/openvino/runtime/utils/types.py +175 -0
- intel_npu_acceleration_library/external/openvino/tools/__init__.py +4 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/__init__.py +3 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/benchmark.py +186 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/main.py +695 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/parameters.py +199 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/__init__.py +3 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/constants.py +26 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/inputs_filling.py +482 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/logging.py +8 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/statistics_report.py +296 -0
- intel_npu_acceleration_library/external/openvino/tools/benchmark/utils/utils.py +836 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/__init__.py +20 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/__main__.py +10 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/cli_parser.py +633 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert.py +102 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert_data_type.py +82 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/convert_impl.py +536 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/environment_setup_utils.py +50 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/error.py +49 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/get_ov_update_message.py +16 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/help.py +45 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/logger.py +91 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/main.py +35 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/__init__.py +2 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/analysis.py +46 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/check_config.py +57 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/extractor.py +447 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/layout_utils.py +73 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/moc_emit_ir.py +32 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/offline_transformations.py +107 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/paddle_frontend_utils.py +83 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pipeline.py +246 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/preprocessing.py +220 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py +205 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/shape_utils.py +109 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/type_utils.py +82 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/ovc.py +13 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_params.py +6 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_stub.py +28 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/telemetry_utils.py +118 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/utils.py +109 -0
- intel_npu_acceleration_library/external/openvino/tools/ovc/version.py +80 -0
- intel_npu_acceleration_library/external/openvino/torch/__init__.py +5 -0
- intel_npu_acceleration_library/external/openvino/utils.py +98 -0
- intel_npu_acceleration_library/functional/__init__.py +8 -0
- intel_npu_acceleration_library/functional/scaled_dot_product_attention.py +47 -0
- intel_npu_acceleration_library/lib/Release/cache.json +113732 -0
- intel_npu_acceleration_library/lib/Release/intel_npu_acceleration_library.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_auto_batch_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_auto_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_c.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_hetero_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_cpu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_gpu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_intel_npu_plugin.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_ir_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_onnx_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_paddle_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_pytorch_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_tensorflow_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/openvino_tensorflow_lite_frontend.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbb12.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbb12_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbbind_2_5.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbbind_2_5_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_debug.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy.dll +0 -0
- intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy_debug.dll +0 -0
- intel_npu_acceleration_library/modelling.py +150 -0
- intel_npu_acceleration_library/nn/__init__.py +20 -0
- intel_npu_acceleration_library/nn/autograd.py +68 -0
- intel_npu_acceleration_library/nn/conv.py +257 -0
- intel_npu_acceleration_library/nn/functional.py +1207 -0
- intel_npu_acceleration_library/nn/linear.py +162 -0
- intel_npu_acceleration_library/nn/llm.py +417 -0
- intel_npu_acceleration_library/nn/module.py +393 -0
- intel_npu_acceleration_library/optimizations.py +157 -0
- intel_npu_acceleration_library/quantization.py +174 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
2
|
+
# SPDX-License-Identifier: Apache-2.0
|
3
|
+
|
4
|
+
import re
|
5
|
+
|
6
|
+
from openvino.runtime import get_version as get_ie_version # pylint: disable=no-name-in-module,import-error
|
7
|
+
|
8
|
+
|
9
|
+
def extract_release_version(version: str):
|
10
|
+
patterns = [
|
11
|
+
# captures release version set by CI for example: '2021.1.0-1028-55e4d5673a8'
|
12
|
+
r"^([0-9]+).([0-9]+)*",
|
13
|
+
# captures release version generated by MO from release branch, for example: 'custom_releases/2021/1_55e4d567'
|
14
|
+
r"_releases/([0-9]+)/([0-9]+)_*"
|
15
|
+
]
|
16
|
+
|
17
|
+
for pattern in patterns:
|
18
|
+
m = re.search(pattern, version)
|
19
|
+
if m and len(m.groups()) == 2:
|
20
|
+
return m.group(1), m.group(2)
|
21
|
+
return None, None
|
22
|
+
|
23
|
+
|
24
|
+
def simplify_version(version: str):
|
25
|
+
release_version = extract_release_version(version)
|
26
|
+
if release_version == (None, None):
|
27
|
+
return "custom"
|
28
|
+
return "{}.{}".format(*release_version)
|
29
|
+
|
30
|
+
|
31
|
+
def get_simplified_ie_version(version=None):
|
32
|
+
from openvino.runtime import get_version # pylint: disable=no-name-in-module,import-error
|
33
|
+
if version is None:
|
34
|
+
version = get_version()
|
35
|
+
|
36
|
+
# To support legacy OV versions
|
37
|
+
m = re.match(r"^([0-9]+).([0-9]+).(.*)", version)
|
38
|
+
if m and len(m.groups()) == 3:
|
39
|
+
return simplify_version(m.group(3))
|
40
|
+
return simplify_version(version)
|
41
|
+
|
42
|
+
|
43
|
+
def extract_hash_from_version(full_version: str):
|
44
|
+
res = re.findall(r'[-_]([a-f0-9]{7,40})', full_version)
|
45
|
+
if len(res) > 0:
|
46
|
+
return res[0]
|
47
|
+
else:
|
48
|
+
return None
|
49
|
+
|
50
|
+
|
51
|
+
class SingletonMetaClass(type):
|
52
|
+
def __init__(self, cls_name, super_classes, dic):
|
53
|
+
self.__single_instance = None
|
54
|
+
super().__init__(cls_name, super_classes, dic)
|
55
|
+
|
56
|
+
def __call__(cls, *args, **kwargs):
|
57
|
+
if cls.__single_instance is None:
|
58
|
+
cls.__single_instance = super(SingletonMetaClass, cls).__call__(*args, **kwargs)
|
59
|
+
return cls.__single_instance
|
60
|
+
|
61
|
+
|
62
|
+
class VersionChecker(metaclass=SingletonMetaClass):
|
63
|
+
def __init__(self):
|
64
|
+
self.runtime_checked = False
|
65
|
+
self.mo_version = None
|
66
|
+
self.ie_version = None
|
67
|
+
self.mo_simplified_version = None
|
68
|
+
self.ie_simplified_version = None
|
69
|
+
|
70
|
+
def get_ie_version(self):
|
71
|
+
if self.ie_version:
|
72
|
+
return self.ie_version
|
73
|
+
self.ie_version = get_ie_version()
|
74
|
+
return self.ie_version
|
75
|
+
|
76
|
+
def get_ie_simplified_version(self):
|
77
|
+
if self.ie_simplified_version:
|
78
|
+
return self.ie_simplified_version
|
79
|
+
self.ie_simplified_version = get_simplified_ie_version()
|
80
|
+
return self.ie_simplified_version
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
# Copyright (C) 2018-2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache-2.0
|
4
|
+
|
5
|
+
import os
|
6
|
+
import sys
|
7
|
+
from functools import wraps
|
8
|
+
from typing import Callable, Any
|
9
|
+
|
10
|
+
|
11
|
+
def _add_openvino_libs_to_search_path() -> None:
|
12
|
+
"""Add OpenVINO libraries to the DLL search path on Windows."""
|
13
|
+
if sys.platform == "win32":
|
14
|
+
# Installer, yum, pip installs openvino dlls to the different directories
|
15
|
+
# and those paths need to be visible to the openvino modules
|
16
|
+
#
|
17
|
+
# If you're using a custom installation of openvino,
|
18
|
+
# add the location of openvino dlls to your system PATH.
|
19
|
+
openvino_libs = []
|
20
|
+
if os.path.isdir(os.path.join(os.path.dirname(__file__), "libs")):
|
21
|
+
# looking for the libs in the pip installation path.
|
22
|
+
openvino_libs.append(os.path.join(os.path.dirname(__file__), "libs"))
|
23
|
+
elif os.path.isdir(os.path.join(os.path.dirname(__file__), "..", "..", "..", "Library", "bin")):
|
24
|
+
# looking for the libs in the conda installation path
|
25
|
+
openvino_libs.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "Library", "bin"))
|
26
|
+
else:
|
27
|
+
# setupvars.bat script set all libs paths to OPENVINO_LIB_PATHS environment variable.
|
28
|
+
openvino_libs_installer = os.getenv("OPENVINO_LIB_PATHS")
|
29
|
+
if openvino_libs_installer:
|
30
|
+
openvino_libs.extend(openvino_libs_installer.split(";"))
|
31
|
+
else:
|
32
|
+
sys.exit("Error: Please set the OPENVINO_LIB_PATHS environment variable. "
|
33
|
+
"If you use an install package, please, run setupvars.bat")
|
34
|
+
for lib in openvino_libs:
|
35
|
+
lib_path = os.path.join(os.path.dirname(__file__), lib)
|
36
|
+
if os.path.isdir(lib_path):
|
37
|
+
# On Windows, with Python >= 3.8, DLLs are no longer imported from the PATH.
|
38
|
+
os.add_dll_directory(os.path.abspath(lib_path))
|
39
|
+
|
40
|
+
|
41
|
+
def deprecated(name: Any = None, version: str = "", message: str = "", stacklevel: int = 2) -> Callable[..., Any]:
|
42
|
+
"""Prints deprecation warning "{function_name} is deprecated and will be removed in version {version}. {message}" and runs the function.
|
43
|
+
|
44
|
+
:param version: The version in which the code will be removed.
|
45
|
+
:param message: A message explaining why the function is deprecated and/or what to use instead.
|
46
|
+
"""
|
47
|
+
|
48
|
+
def decorator(wrapped: Callable[..., Any]) -> Callable[..., Any]:
|
49
|
+
@wraps(wrapped)
|
50
|
+
def wrapper(*args: Any, **kwargs: Any) -> Callable[..., Any]:
|
51
|
+
# it must be imported here; otherwise, there are errors with no loaded DLL for Windows
|
52
|
+
from openvino._pyopenvino.util import deprecation_warning
|
53
|
+
|
54
|
+
deprecation_warning(wrapped.__name__ if name is None else name, version, message, stacklevel)
|
55
|
+
return wrapped(*args, **kwargs)
|
56
|
+
|
57
|
+
return wrapper
|
58
|
+
|
59
|
+
return decorator
|
60
|
+
|
61
|
+
|
62
|
+
# WA method since Python 3.11 does not support @classmethod and @property chain,
|
63
|
+
# currently only read-only properties are supported.
|
64
|
+
class _ClassPropertyDescriptor(object):
|
65
|
+
def __init__(self, fget: Callable):
|
66
|
+
self.fget = fget
|
67
|
+
|
68
|
+
def __get__(self, obj: Any, cls: Any = None) -> Any:
|
69
|
+
if cls is None:
|
70
|
+
cls = type(obj)
|
71
|
+
return self.fget.__get__(obj, cls)()
|
72
|
+
|
73
|
+
|
74
|
+
def classproperty(func: Any) -> _ClassPropertyDescriptor:
|
75
|
+
if not isinstance(func, (classmethod, staticmethod)):
|
76
|
+
func = classmethod(func)
|
77
|
+
return _ClassPropertyDescriptor(func)
|
78
|
+
|
79
|
+
|
80
|
+
def deprecatedclassproperty(name: Any = None, version: str = "", message: str = "", stacklevel: int = 2) -> Callable[[Any], _ClassPropertyDescriptor]:
|
81
|
+
def decorator(wrapped: Any) -> _ClassPropertyDescriptor:
|
82
|
+
func = classproperty(wrapped)
|
83
|
+
|
84
|
+
# Override specific instance
|
85
|
+
def _patch(instance: _ClassPropertyDescriptor, func: Callable[..., Any]) -> None:
|
86
|
+
cls_: Any = type(instance)
|
87
|
+
|
88
|
+
class _(cls_): # noqa: N801
|
89
|
+
@func
|
90
|
+
def __get__(self, obj: Any, cls: Any = None) -> Any:
|
91
|
+
return super().__get__(obj, cls)
|
92
|
+
|
93
|
+
instance.__class__ = _
|
94
|
+
|
95
|
+
# Add `deprecated` decorator on the top of `__get__`
|
96
|
+
_patch(func, deprecated(name, version, message, stacklevel))
|
97
|
+
return func
|
98
|
+
return decorator
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
# Copyright © 2024 Intel Corporation
|
3
|
+
# SPDX-License-Identifier: Apache 2.0
|
4
|
+
#
|
5
|
+
from intel_npu_acceleration_library.backend import run_factory, SDPA, SimpleSDPA
|
6
|
+
from typing import Optional
|
7
|
+
from functools import partial
|
8
|
+
import torch
|
9
|
+
|
10
|
+
|
11
|
+
def scaled_dot_product_attention(
|
12
|
+
query: torch.Tensor,
|
13
|
+
key: torch.Tensor,
|
14
|
+
value: torch.Tensor,
|
15
|
+
attn_mask: torch.Tensor = None,
|
16
|
+
dropout_p: float = 0.0,
|
17
|
+
is_causal: bool = False,
|
18
|
+
scale: Optional[float] = None,
|
19
|
+
) -> torch.Tensor:
|
20
|
+
"""Execute SDPA kernel.
|
21
|
+
|
22
|
+
Args:
|
23
|
+
query (torch.Tensor): query tensor
|
24
|
+
key (torch.Tensor): key tensor
|
25
|
+
value (torch.Tensor): value tensor
|
26
|
+
attn_mask (torch.Tensor, optional): attention mask tensor. Defaults to None.
|
27
|
+
dropout_p (float, optional): optional dropout. Defaults to 0.0.
|
28
|
+
is_causal (bool, optional): enable causal mask. Defaults to False.
|
29
|
+
scale (Optional[float], optional): custom scale. Defaults to None.
|
30
|
+
|
31
|
+
Raises:
|
32
|
+
RuntimeError: _description_
|
33
|
+
|
34
|
+
Returns:
|
35
|
+
torch.Tensor: _description_
|
36
|
+
"""
|
37
|
+
if dropout_p != 0:
|
38
|
+
raise RuntimeError("dropout_p != 0 is not supported yet")
|
39
|
+
if scale is not None:
|
40
|
+
raise RuntimeError("scale != 0 is not supported yet")
|
41
|
+
|
42
|
+
if attn_mask is None:
|
43
|
+
backend_cls = partial(SimpleSDPA, is_causal=is_causal) # type: ignore
|
44
|
+
return run_factory([query, key, value], [], backend_cls)
|
45
|
+
else:
|
46
|
+
backend_cls = partial(SDPA, is_causal=is_causal) # type: ignore
|
47
|
+
return run_factory([query, key, value, attn_mask], [], backend_cls)
|