bigdl-core-npu 2.6.0b20241120__cp311-cp311-win_amd64.whl → 2.6.0b20241124__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.
Files changed (83) hide show
  1. bigdl-core-npu/include/common.h +82 -0
  2. bigdl-core-npu/include/npu_llm.h +62 -0
  3. bigdl-core-npu/npu_llm.dll +0 -0
  4. {bigdl_core_npu-2.6.0b20241120.dist-info → bigdl_core_npu-2.6.0b20241124.dist-info}/METADATA +1 -2
  5. {bigdl_core_npu-2.6.0b20241120.dist-info → bigdl_core_npu-2.6.0b20241124.dist-info}/RECORD +77 -79
  6. {bigdl_core_npu-2.6.0b20241120.dist-info → bigdl_core_npu-2.6.0b20241124.dist-info}/WHEEL +1 -1
  7. intel_npu_acceleration_library/_version.py +1 -1
  8. intel_npu_acceleration_library/external/openvino/__init__.py +1 -0
  9. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp310-win_amd64.pyd +0 -0
  10. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp311-win_amd64.pyd +0 -0
  11. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp312-win_amd64.pyd +0 -0
  12. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp38-win_amd64.pyd +0 -0
  13. intel_npu_acceleration_library/external/openvino/_pyopenvino.cp39-win_amd64.pyd +0 -0
  14. intel_npu_acceleration_library/external/openvino/experimental/__init__.py +14 -0
  15. intel_npu_acceleration_library/external/openvino/frontend/jax/jaxpr_decoder.py +15 -5
  16. intel_npu_acceleration_library/external/openvino/frontend/jax/passes.py +65 -0
  17. intel_npu_acceleration_library/external/openvino/frontend/jax/utils.py +66 -13
  18. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp310-win_amd64.pyd +0 -0
  19. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp311-win_amd64.pyd +0 -0
  20. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp312-win_amd64.pyd +0 -0
  21. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp38-win_amd64.pyd +0 -0
  22. intel_npu_acceleration_library/external/openvino/frontend/onnx/py_onnx_frontend.cp39-win_amd64.pyd +0 -0
  23. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp310-win_amd64.pyd +0 -0
  24. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp311-win_amd64.pyd +0 -0
  25. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp312-win_amd64.pyd +0 -0
  26. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp38-win_amd64.pyd +0 -0
  27. intel_npu_acceleration_library/external/openvino/frontend/paddle/py_paddle_frontend.cp39-win_amd64.pyd +0 -0
  28. intel_npu_acceleration_library/external/openvino/frontend/pytorch/fx_decoder.py +29 -19
  29. intel_npu_acceleration_library/external/openvino/frontend/pytorch/gptq.py +46 -5
  30. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp310-win_amd64.pyd +0 -0
  31. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp311-win_amd64.pyd +0 -0
  32. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp312-win_amd64.pyd +0 -0
  33. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp38-win_amd64.pyd +0 -0
  34. intel_npu_acceleration_library/external/openvino/frontend/pytorch/py_pytorch_frontend.cp39-win_amd64.pyd +0 -0
  35. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/backend.py +17 -5
  36. intel_npu_acceleration_library/external/openvino/frontend/pytorch/torchdynamo/partition.py +55 -47
  37. intel_npu_acceleration_library/external/openvino/frontend/pytorch/ts_decoder.py +92 -63
  38. intel_npu_acceleration_library/external/openvino/frontend/pytorch/utils.py +12 -10
  39. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp310-win_amd64.pyd +0 -0
  40. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp311-win_amd64.pyd +0 -0
  41. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp312-win_amd64.pyd +0 -0
  42. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp38-win_amd64.pyd +0 -0
  43. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/py_tensorflow_frontend.cp39-win_amd64.pyd +0 -0
  44. intel_npu_acceleration_library/external/openvino/frontend/tensorflow/utils.py +31 -10
  45. intel_npu_acceleration_library/external/openvino/runtime/ie_api.py +1 -1
  46. intel_npu_acceleration_library/external/openvino/runtime/opset15/__init__.py +5 -0
  47. intel_npu_acceleration_library/external/openvino/runtime/opset15/ops.py +131 -1
  48. intel_npu_acceleration_library/external/openvino/runtime/opset6/ops.py +13 -4
  49. intel_npu_acceleration_library/external/openvino/runtime/opset8/ops.py +1 -1
  50. intel_npu_acceleration_library/external/openvino/runtime/properties/__init__.py +1 -0
  51. intel_npu_acceleration_library/external/openvino/runtime/utils/data_helpers/data_dispatcher.py +21 -3
  52. intel_npu_acceleration_library/external/openvino/runtime/utils/decorators.py +29 -9
  53. intel_npu_acceleration_library/external/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py +0 -1
  54. intel_npu_acceleration_library/lib/Release/intel_npu_acceleration_library.dll +0 -0
  55. intel_npu_acceleration_library/lib/Release/openvino.dll +0 -0
  56. intel_npu_acceleration_library/lib/Release/openvino_auto_batch_plugin.dll +0 -0
  57. intel_npu_acceleration_library/lib/Release/openvino_auto_plugin.dll +0 -0
  58. intel_npu_acceleration_library/lib/Release/openvino_c.dll +0 -0
  59. intel_npu_acceleration_library/lib/Release/openvino_hetero_plugin.dll +0 -0
  60. intel_npu_acceleration_library/lib/Release/openvino_intel_cpu_plugin.dll +0 -0
  61. intel_npu_acceleration_library/lib/Release/openvino_intel_gpu_plugin.dll +0 -0
  62. intel_npu_acceleration_library/lib/Release/openvino_intel_npu_plugin.dll +0 -0
  63. intel_npu_acceleration_library/lib/Release/openvino_ir_frontend.dll +0 -0
  64. intel_npu_acceleration_library/lib/Release/openvino_onnx_frontend.dll +0 -0
  65. intel_npu_acceleration_library/lib/Release/openvino_paddle_frontend.dll +0 -0
  66. intel_npu_acceleration_library/lib/Release/openvino_pytorch_frontend.dll +0 -0
  67. intel_npu_acceleration_library/lib/Release/openvino_tensorflow_frontend.dll +0 -0
  68. intel_npu_acceleration_library/lib/Release/openvino_tensorflow_lite_frontend.dll +0 -0
  69. intel_npu_acceleration_library/lib/Release/tbb12.dll +0 -0
  70. intel_npu_acceleration_library/lib/Release/tbb12_debug.dll +0 -0
  71. intel_npu_acceleration_library/lib/Release/tbbbind_2_5.dll +0 -0
  72. intel_npu_acceleration_library/lib/Release/tbbbind_2_5_debug.dll +0 -0
  73. intel_npu_acceleration_library/lib/Release/tbbmalloc.dll +0 -0
  74. intel_npu_acceleration_library/lib/Release/tbbmalloc_debug.dll +0 -0
  75. intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy.dll +0 -0
  76. intel_npu_acceleration_library/lib/Release/tbbmalloc_proxy_debug.dll +0 -0
  77. intel_npu_acceleration_library/external/openvino/frontend/jax/py_jax_frontend.cp310-win_amd64.pyd +0 -0
  78. intel_npu_acceleration_library/external/openvino/frontend/jax/py_jax_frontend.cp311-win_amd64.pyd +0 -0
  79. intel_npu_acceleration_library/external/openvino/frontend/jax/py_jax_frontend.cp312-win_amd64.pyd +0 -0
  80. intel_npu_acceleration_library/external/openvino/frontend/jax/py_jax_frontend.cp38-win_amd64.pyd +0 -0
  81. intel_npu_acceleration_library/external/openvino/frontend/jax/py_jax_frontend.cp39-win_amd64.pyd +0 -0
  82. intel_npu_acceleration_library/lib/Release/openvino_jax_frontend.dll +0 -0
  83. {bigdl_core_npu-2.6.0b20241120.dist-info → bigdl_core_npu-2.6.0b20241124.dist-info}/top_level.txt +0 -0
@@ -115,9 +115,10 @@ def mvn(
115
115
  return _get_node_factory_opset6().create("MVN", inputs, attributes)
116
116
 
117
117
 
118
- @overloading(Union[Node, Output], str, Optional[Union[type, np.dtype, Type, str]], Optional[Union[TensorShape, Shape, PartialShape]], Optional[str])
118
+ @overloading(Union[Node, Output, int, float, np.ndarray], str, Optional[Union[type, np.dtype, Type, str]],
119
+ Optional[Union[TensorShape, Shape, PartialShape]], Optional[str])
119
120
  @nameable_op
120
- def read_value(init_value: Union[Node, Output],
121
+ def read_value(init_value: Union[Node, Output, int, float, np.ndarray],
121
122
  variable_id: str,
122
123
  variable_type: Optional[Union[type, np.dtype, Type, str]] = None,
123
124
  variable_shape: Optional[Union[TensorShape, Shape, PartialShape]] = None,
@@ -139,9 +140,13 @@ def read_value(init_value: Union[Node, Output],
139
140
  info.data_type = get_element_type(variable_type)
140
141
  else:
141
142
  info.data_type = variable_type
143
+ else:
144
+ info.data_type = Type.dynamic
142
145
 
143
146
  if variable_shape is not None:
144
147
  info.data_shape = PartialShape(variable_shape)
148
+ else:
149
+ info.data_shape = PartialShape.dynamic()
145
150
 
146
151
  var_from_info = Variable(info)
147
152
  return _read_value(new_value=as_node(init_value, name=name), variable=var_from_info)
@@ -169,9 +174,13 @@ def read_value(variable_id: str, # noqa: F811
169
174
  info.data_type = get_element_type(variable_type)
170
175
  else:
171
176
  info.data_type = variable_type
177
+ else:
178
+ info.data_type = Type.dynamic
172
179
 
173
180
  if variable_shape is not None:
174
181
  info.data_shape = PartialShape(variable_shape)
182
+ else:
183
+ info.data_shape = PartialShape.dynamic()
175
184
 
176
185
  var_from_info = Variable(info)
177
186
 
@@ -191,9 +200,9 @@ def read_value(ov_variable: Variable, # noqa: F811
191
200
  return _read_value(ov_variable)
192
201
 
193
202
 
194
- @overloading(Union[Node, Output], Variable, Optional[str]) # type: ignore
203
+ @overloading(Union[Node, Output, int, float, np.ndarray], Variable, Optional[str]) # type: ignore
195
204
  @nameable_op
196
- def read_value(init_value: Union[Node, Output], # noqa: F811
205
+ def read_value(init_value: Union[Node, Output, int, float, np.ndarray], # noqa: F811
197
206
  ov_variable: Variable,
198
207
  name: Optional[str] = None) -> Node:
199
208
  """Return a node which produces the Assign operation.
@@ -366,7 +366,7 @@ def random_uniform(
366
366
  "output_type": output_type,
367
367
  "global_seed": global_seed,
368
368
  "op_seed": op_seed,
369
- "alignment": alignment.lower()
369
+ "alignment": alignment.lower(),
370
370
  }
371
371
  return _get_node_factory_opset8().create("RandomUniform", inputs, attributes)
372
372
 
@@ -28,6 +28,7 @@ from openvino._pyopenvino.properties import max_batch_size
28
28
  from openvino._pyopenvino.properties import range_for_async_infer_requests
29
29
  from openvino._pyopenvino.properties import execution_devices
30
30
  from openvino._pyopenvino.properties import loaded_from_cache
31
+ from openvino._pyopenvino.properties import cache_encryption_callbacks
31
32
 
32
33
  # Submodules
33
34
  from openvino.runtime.properties import hint
@@ -7,7 +7,7 @@ from typing import Any, Dict, Union, Optional
7
7
 
8
8
  import numpy as np
9
9
 
10
- from openvino._pyopenvino import ConstOutput, Tensor, Type
10
+ from openvino._pyopenvino import ConstOutput, Tensor, Type, RemoteTensor
11
11
  from openvino.runtime.utils.data_helpers.wrappers import _InferRequestWrapper, OVDict
12
12
 
13
13
  ContainerTypes = Union[dict, list, tuple, OVDict]
@@ -61,6 +61,16 @@ def _(
61
61
  return value
62
62
 
63
63
 
64
+ @value_to_tensor.register(RemoteTensor)
65
+ def _(
66
+ value: RemoteTensor,
67
+ request: Optional[_InferRequestWrapper] = None,
68
+ is_shared: bool = False,
69
+ key: Optional[ValidKeys] = None,
70
+ ) -> RemoteTensor:
71
+ return value
72
+
73
+
64
74
  @value_to_tensor.register(np.ndarray)
65
75
  def _(
66
76
  value: np.ndarray,
@@ -137,7 +147,11 @@ def _(
137
147
  def to_c_style(value: Any, is_shared: bool = False) -> Any:
138
148
  if not isinstance(value, np.ndarray):
139
149
  if hasattr(value, "__array__"):
140
- return to_c_style(np.array(value, copy=False), is_shared) if is_shared else np.array(value, copy=True)
150
+ if np.lib.NumpyVersion(np.__version__) >= "2.0.0":
151
+ # https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword
152
+ return to_c_style(np.asarray(value), is_shared) if is_shared else np.asarray(value, copy=True) # type: ignore
153
+ else:
154
+ return to_c_style(np.array(value, copy=False), is_shared) if is_shared else np.array(value, copy=True)
141
155
  return value
142
156
  return value if value.flags["C_CONTIGUOUS"] else np.ascontiguousarray(value)
143
157
 
@@ -152,7 +166,11 @@ def normalize_arrays(
152
166
  ) -> Any:
153
167
  # Check the special case of the array-interface
154
168
  if hasattr(inputs, "__array__"):
155
- return to_c_style(np.array(inputs, copy=False), is_shared) if is_shared else np.array(inputs, copy=True)
169
+ if np.lib.NumpyVersion(np.__version__) >= "2.0.0":
170
+ # https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword
171
+ return to_c_style(np.asarray(inputs), is_shared) if is_shared else np.asarray(inputs, copy=True) # type: ignore
172
+ else:
173
+ return to_c_style(np.array(inputs, copy=False), is_shared) if is_shared else np.array(inputs, copy=True)
156
174
  # Error should be raised if type does not match any dispatchers
157
175
  raise TypeError(f"Incompatible inputs of type: {type(inputs)}")
158
176
 
@@ -3,7 +3,7 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  from functools import wraps
6
- from inspect import getfullargspec
6
+ from inspect import signature
7
7
  from typing import Any, Callable, Dict, Optional, Union, get_origin, get_args
8
8
 
9
9
  from openvino.runtime import Node, Output
@@ -102,19 +102,39 @@ class MultiMethod(object):
102
102
  return False
103
103
  return True
104
104
 
105
- def __call__(self, *args) -> Any: # type: ignore
106
- types = tuple(arg.__class__ for arg in args)
105
+ def __call__(self, *args, **kwargs) -> Any: # type: ignore
106
+ arg_types = tuple(arg.__class__ for arg in args)
107
+ kwarg_types = {key: type(value) for key, value in kwargs.items()}
108
+
107
109
  key_matched = None
108
- for key in self.typemap.keys():
109
- if self.check_invoked_types_in_overloaded_funcs(types, key):
110
- key_matched = key
111
- break
110
+ if len(kwarg_types) == 0 and len(arg_types) != 0:
111
+ for key in self.typemap.keys():
112
+ # compare types of called function with overloads
113
+ if self.check_invoked_types_in_overloaded_funcs(arg_types, key):
114
+ key_matched = key
115
+ break
116
+ elif len(arg_types) == 0 and len(kwarg_types) != 0:
117
+ for key, func in self.typemap.items():
118
+ func_signature = {arg_name: types.annotation for arg_name, types in signature(func).parameters.items()}
119
+ # if kwargs of called function are subset of overloaded function, we use this overload
120
+ if kwarg_types.keys() <= func_signature.keys():
121
+ key_matched = key
122
+ break
123
+ elif len(arg_types) != 0 and len(kwarg_types) != 0:
124
+ for key, func in self.typemap.items():
125
+ func_signature = {arg_name: types.annotation for arg_name, types in signature(func).parameters.items()}
126
+ # compare types of called function with overloads
127
+ if self.check_invoked_types_in_overloaded_funcs(arg_types, tuple(func_signature.values())):
128
+ # if kwargs of called function are subset of overloaded function, we use this overload
129
+ if kwarg_types.keys() <= func_signature.keys():
130
+ key_matched = key
131
+ break
112
132
 
113
133
  if key_matched is None:
114
- raise TypeError("no match")
134
+ raise TypeError(f"The necessary overload for {self.name} was not found")
115
135
 
116
136
  function = self.typemap.get(key_matched)
117
- return function(*args) # type: ignore
137
+ return function(*args, **kwargs) # type: ignore
118
138
 
119
139
  def register(self, types: tuple, function: Callable) -> None:
120
140
  if types in self.typemap:
@@ -134,7 +134,6 @@ def extract_input_info_from_example(args, inputs):
134
134
  0] == "self" else args.input_model._input_signature
135
135
  if input_names and not is_dict_input:
136
136
  example_inputs = dict(zip(input_names, example_inputs))
137
- print(input_names)
138
137
  example_inputs = flatten_inputs(example_inputs, input_names)
139
138
  input_arg = []
140
139
  for example in example_inputs: