Commit Graph

14841 Commits

Author SHA1 Message Date
Oleg Pipikin 647ef4e701
Remove NGraphFunctions namespace (#23627)
### Details:
 - Remove NGraphFunctions namespace

### Tickets:
 - CVS-133379
2024-03-25 06:00:59 +00:00
Aryan Pandey ed5c543a0a
Fix the aten::mv for pytorch models #22073 (#22677)
### Details:
 - *item1*
 - *...*
Add aten::mv operator
close https://github.com/openvinotoolkit/openvino/issues/22073
### Tickets:
 - *ticket-id*

---------

Co-authored-by: Ekaterina Aidova <ekaterina.aidova@intel.com>
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2024-03-25 05:55:12 +00:00
Andrew Kwangwoong Park 6d7682c7f5
[GPU] Extend pattern for ClampFP16Output (#23592)
### Details:
- By PR(https://github.com/openvinotoolkit/openvino/pull/22245),
`clamp_fp16_output` opt pass was moved to ngraph
- Because nodes such as eltwise(`Add`, `Subtract`, `Multiply`, `Divide`)
that were fused into target node `gemm` are not supported in pattern,
corresponding pattern was extended for this purpose

### Tickets:
 - 135060
2024-03-25 05:11:56 +00:00
Andrew Kwangwoong Park 133b139292
[GPU] Extend gemm to fuse broadcast and reshape layers (#23513)
### Details:
- Fuse `broadcast` and `reshape` layers into `gemm` layer for LLM's 2nd
latency optimization
     - before : [`broadcast`] --> [`reshape`] --> `gemm`
     - after : `gemm`
- `gemm` is extended to have `input0_target_shape`,
`input1_target_shape`, `input0_output_pattern` and
`input1_output_pattern` from `broadcast` and `reshape` layers

### Tickets:
 - 128343

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2024-03-25 01:23:27 +00:00
rghvsh dbef32e292
[TF FE] Support Angle operation for TensorFlow models (#23028)
### Details:
 - *Support Angle operation for TensorFlow models*
 
### Tickets:
 - Closes #22083

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2024-03-24 19:48:22 +00:00
Irina Efode aebf81419b
[ IE TESTS ] Update tensor comparation function according plugin requirments (#23226)
### Details:
- *Comparation function was changed to compare tensors based on element
comparation*
- *`std::abs(ref_value - plugin_value) <= abs_threshold + rel_threshold
* ref_value`*
- *`abs_threshold ` =
std::max(std::numeric_limits::eps<plugin_element_type>(),
std::numeric_limits::eps<ref_element_type>())*
- *`ref_threshold = eps_by_expected_type()`, which is based on half `bit
length of mantissa`*

### Tickets:
 - [CVS-133173](https://jira.devtools.intel.com/browse/CVS-133173)
 - [CVS-135540](https://jira.devtools.intel.com/browse/CVS-135540)

---------

Co-authored-by: sbalandi <sofya.balandina@intel.com>
2024-03-23 18:08:25 +00:00
Pranshu Shukla b520763404
[TF FE] Enable parallel execution of TensorFlow Layer 2 python tests (#23344)
Addresses issue: #20919 

### Details:
- Enables parallel execution of TensorFlow Layer 2 python tests
- Fixes test_tf2_keras_conv_lstm_2d.py and test_tf2_map_fn.py to not
fail during parallel execution
- Appends args in github workflow to enable parallel execution

Errors fixed:
- Due to varying Kera activation function addresses causing the workers
to get different parameter inputs and thus failing. See [known
issue](https://pytest-xdist.readthedocs.io/en/stable/known-limitations.html#order-and-amount-of-test-must-be-consistent)
```
-tensorflow2_keras_tests/test_tf2_keras_conv_lstm_2d.py::TestKerasConvLSTM2D::test_keras_conv_lstm_2d_basic[ ie_device:CPU - precision:FP32 - params:{'params': {'filters': 4, 'kernel_size': (3, 3), 'padding': 'same', 'return_sequences': False, 'activation': <function swish at 0x7f1fadf364d0>}, 'input_shapes': [[2, 5, 20, 30, 2]]} ]
-tensorflow2_keras_tests/test_tf2_keras_conv_lstm_2d.py::TestKerasConvLSTM2D::test_keras_conv_lstm_2d_basic[ ie_device:CPU - precision:FP32 - params:{'params': {'filters': 6, 'kernel_size': (2, 3), 'padding': 'valid', 'dilation_rate': 3, 'recurrent_activation': <function elu at 0x7f1fe6a1a830>, 'return_sequences': True, 'use_bias': True, 'data_format': 'channels_first'}, 'input_shapes': [[2, 5, 1, 40, 30]]} ]
+tensorflow2_keras_tests/test_tf2_keras_conv_lstm_2d.py::TestKerasConvLSTM2D::test_keras_conv_lstm_2d_basic[ ie_device:CPU - precision:FP32 - params:{'params': {'filters': 4, 'kernel_size': (3, 3), 'padding': 'same', 'return_sequences': False, 'activation': <function swish at 0x7f635e4d24d0>}, 'input_shapes': [[2, 5, 20, 30, 2]]} ]
+tensorflow2_keras_tests/test_tf2_keras_conv_lstm_2d.py::TestKerasConvLSTM2D::test_keras_conv_lstm_2d_basic[ ie_device:CPU - precision:FP32 - params:{'params': {'filters': 6, 'kernel_size': (2, 3), 'padding': 'valid', 'dilation_rate': 3, 'recurrent_activation': <function elu at 0x7f6396fa2830>, 'return_sequences': True, 'use_bias': True, 'data_format': 'channels_first'}, 'input_shapes': [[2, 5, 1, 40, 30]]} ]
```

- Due to lambda function definitions giving varying addresses as inputs
```
-tensorflow2_keras_tests/test_tf2_map_fn.py::TestMapFN::test_multiple_inputs_outputs_int32[ ie_device:CPU - precision:FP32 - params:{'fn': <function TestMapFN.<lambda> at 0x7f66c2c63c70>, 'input_type': tf.int32, 'fn_output_signature': (tf.int32, tf.int32, tf.int32), 'back_prop': True, 'input_names': ['x1', 'x2', 'x3'], 'input_shapes': [[2, 1, 3, 4], [2, 1, 3, 4], [2, 1, 3, 4]]} ]
-tensorflow2_keras_tests/test_tf2_map_fn.py::TestMapFN::test_multiple_inputs_outputs_int32[ ie_device:CPU - precision:FP16 - params:{'fn': <function TestMapFN.<lambda> at 0x7f66c2c63c70>, 'input_type': tf.int32, 'fn_output_signature': (tf.int32, tf.int32, tf.int32), 'back_prop': True, 'input_names': ['x1', 'x2', 'x3'], 'input_shapes': [[2, 1, 3, 4], [2, 1, 3, 4], [2, 1, 3, 4]]} ]
+tensorflow2_keras_tests/test_tf2_map_fn.py::TestMapFN::test_multiple_inputs_outputs_int32[ ie_device:CPU - precision:FP32 - params:{'fn': <function TestMapFN.<lambda> at 0x7f211b56fd00>, 'input_type': tf.int32, 'fn_output_signature': (tf.int32, tf.int32, tf.int32), 'back_prop': True, 'input_names': ['x1', 'x2', 'x3'], 'input_shapes': [[2, 1, 3, 4], [2, 1, 3, 4], [2, 1, 3, 4]]} ]
+tensorflow2_keras_tests/test_tf2_map_fn.py::TestMapFN::test_multiple_inputs_outputs_int32[ ie_device:CPU - precision:FP16 - params:{'fn': <function TestMapFN.<lambda> at 0x7f211b56fd00>, 'input_type': tf.int32, 'fn_output_signature': (tf.int32, tf.int32, tf.int32), 'back_prop': True, 'input_names': ['x1', 'x2', 'x3'], 'input_shapes': [[2, 1, 3, 4], [2, 1, 3, 4], [2, 1, 3, 4]]} ]
```

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2024-03-23 08:36:18 +00:00
Andrey Babushkin 113975fe12
[chore] Use debug loglevel for github metrics script (#23633)
### Details:
We can switch log level for GitHub metrics script only when the workflow
is restarted with debug logging
2024-03-22 19:50:34 +00:00
Maksim Kutakov 908dac9d5c
[CPU] Fix SDPA pattern matching (#23581)
### Details:
Limit the Concat layer to have maximum 3 children. The third one is
allowed to be a ShapeOf op only (to support Mixtral).

### Tickets:
 - 135375
2024-03-22 18:08:01 +00:00
Andrii Staikov 0902fe4096
[TRANSFORMATIONS] Create python binding for pattern::Optional (#23558)
[TRANSFORMATIONS] Create python binding for pattern::Optional

Expose the C++ op::pattern::Optional to Python in order to
simplify patterns creation.
Cover the functionality with the dedicated tests.

### Tickets:
CVS-133523

Signed-off-by: Andrii Staikov <andrii.staikov@intel.com>

---------

Signed-off-by: Andrii Staikov <andrii.staikov@intel.com>
2024-03-22 16:14:54 +00:00
Karol Blaszczak fea54876bf
[DOCS] ai legal disclaimer (#23587) 2024-03-22 14:02:22 +00:00
Karol Blaszczak d8c0110ebe
[DOCS] improve legacy section formatting (#23512) 2024-03-22 13:54:47 +00:00
Oleg Pipikin 6311ff50a6
Calculate model weights hash in parallel (#23605)
### Details:
- Calculate model weights hash in parallel in case of reading model from
buffer

### Tickets:
 - CVS-134771
2024-03-22 11:46:47 +00:00
Irina Efode 791feb469f
[API CONFORMANCE] Modify API conformance suite for SW plugins (#23557)
### Details:
 - *Move some properties from mandatory to optional for sw plugins*
 - *...*

### Tickets:
 - *[133459](https://jira.devtools.intel.com/browse/CVS-133459)*
2024-03-22 09:52:25 +00:00
Aleksandr Voron a47e3f6bdb
[CPU][ARM] Upgrade to ACL v24.02.1 (#22598)
oneDNN PR: https://github.com/openvinotoolkit/oneDNN/pull/227
2024-03-22 09:23:12 +00:00
Mateusz Mikolajczyk 9ab8a2c073
[Opset14][Spec] ConvertPromoteTypes-14 specification (#23264)
### Details:
- *This PR introduces specification for ConvertPromoteTypes-14 op -
conversion op used to align two inputs to common type*
- *Operator was introduced for PyTorch Frontend, rules also match
Tensorflow https://www.tensorflow.org/guide/tf_numpy_type_promotion*
- PR with core implementation:
https://github.com/openvinotoolkit/openvino/pull/22566
- Draft PR with improvements to core + replacement it PTFe:
https://github.com/openvinotoolkit/openvino/pull/22770

### Tickets:
 - *129197*

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2024-03-22 08:09:18 +00:00
Andrii Staikov 541e423e24
[TRANSFORMATIONS] Remove use of legacy names from transformations (#23574)
[TRANSFORMATIONS] Remove use of legacy names from transformations

API function create_ie_output_name() and get_ie_output_name() are
deprecated in a28a0004b4 ("Deprecated functions to operate with legacy
port names (#22717)")

Remove usages of create_ie_output_name() in Transformations

### Tickets:
CVS-132087
Signed-off-by: Andrii Staikov andrii.staikov@intel.com

---------

Signed-off-by: Andrii Staikov andrii.staikov@intel.com
2024-03-22 07:58:37 +00:00
Piotr Krzemiński 28b81a4040
[Spec] Clarify specification for StridedSlice (#23039)
### Details:
- Add notes with descriptions of: Out of Bounds, Indexing in Reverse,
Negative Indices
 - Clarified length of masks
 - Clarified the definition of `-1` value
- Described in detail the behavior of masks, aligned with Reference
Implementation
 - Added more latex-like style, add the examples for the missing masks.

### Tickets:
 - 90128
2024-03-22 07:47:06 +00:00
Przemyslaw Wysocki 8872077c1d
[PyOV] Add Python API for MaxPool-14 and AvgPool-14 (#22966)
### Details:
 - Extend Python API with`MaxPool-14` and `AvgPool-14`
- They both introduce a new ceil mode:
`ov::op::RoundingType::CEIL_TORCH`
- The new ceiling mode does not allow the last pooling in a Dimension to
start in the padding area

### Related PRs
 - https://github.com/openvinotoolkit/openvino/pull/22930
 - https://github.com/openvinotoolkit/openvino/pull/22796
 - https://github.com/openvinotoolkit/openvino/pull/23027
 - https://github.com/openvinotoolkit/openvino/pull/23381
 - https://github.com/openvinotoolkit/openvino/pull/23582

### Tickets:
 - 131961

### Context
https://github.com/openvinotoolkit/openvino/issues/18731

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2024-03-22 06:25:01 +00:00
Vladimir Paramuzov e4c7194cb3
[GPU] Fix count non zero for empty input (#23597)
### Details:
- Adds buffer reset to 0 in `count_nonzero` impl in case of empty input
tensor as currently we may try to allocate random amount of memory in
subsequent `gather_nonzero` call
2024-03-22 06:06:08 +00:00
Edward Shogulin e6f92ace0d
[CPU] [ARM64] jit equal (#23266)
### Details:
 - *[CPU] [AARCH64] jit eltwise Equal

### Tickets:
 - *CVS-134691*
2024-03-22 05:22:00 +00:00
Luo Cheng 1468630a00
[CPU] optimize PagedAttention's shape inference (#23603)
### Details:
 - *Specific shape inference for PagedAttention*
 - *...*

### Tickets:
 - *ticket-id*
2024-03-22 05:20:44 +00:00
Wanglei Shen f514412117
Enable new property model_distribution_policy for CPU inference (#23077)
### Details:
 - *Enable new property model_distribution_policy for CPU inference*
 -- *Add C++ interface and test cases*
 -- *Add Python interface and test cases*

### Tickets:
 - *CVS-127844*
2024-03-21 23:39:32 +00:00
Sofya Balandina c5886a36da
[IE TESTS][OP CONFORMANCE] Move `ConstRanges` range calculation to `InGenData` constructor (#23427)
### Details:
 - *Move static const range initialization to `InData` structure*

### Tickets:
 - *[125993](https://jira.devtools.intel.com/browse/CVS-125993)*
2024-03-21 21:16:50 +00:00
Roman Kazantsev 1ab9bedd81
[TF FE] Support TensorFlow 2.16 (#23562)
**Details:** Support TensorFlow 2.16

**Ticket:** TBD

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2024-03-21 20:39:39 +00:00
Vladimir Paramuzov 778f280e3d
[GPU] Re-enable memory reuse for gemm (#23600)
### Details:
- Since #22726 gemm is derived from multi-stage impl which had memory
reuse flag enforced to false for all sub-classes.
- This patch enables memory reuse back for gemm kernel to reduce memory
consumption.

### Tickets:
 - *135361*
2024-03-21 20:29:43 +00:00
Artyom Anokhov a929c8c7e6
constraints openvino-dev: Limit mpmath<1.4 (#23601)
### Details:
- Limit mpmath because of
https://github.com/pytorch/pytorch/issues/120995 and
https://github.com/sympy/sympy/issues/26273
2024-03-21 20:24:55 +00:00
Alicja Miloszewska a8c224fffc
[JS API] Extract code from CompiledModel getters (#23515)
### Details:
- Extract the same logic structure from `CompileModel::input` and
`CompileModel::output`
- Add a private `CompileModel::get_node` method that gets the specified
input or output node.

Note:
No changes to argument validation or conversion.

### Tickets:
 - *127617*
2024-03-21 19:32:19 +00:00
Andrey Babushkin 5559ee735b
New DB schema for GitHub metrics script (#23606)
### Details:
Improvements and fixes for the script which sends GitHub Workflow
metrics to a database. See also:
[23484](https://github.com/openvinotoolkit/openvino/pull/23484)
2024-03-21 18:45:35 +00:00
Edward Shogulin 578d692dad
[CPU] [ARM64] jit select (#23450)
### Details:
 - *[CPU] [AARCH64] jit select*

### Tickets:
 - *CVS-135445*
2024-03-21 17:21:43 +00:00
Andrei Kashchikhin 2eae6062fb
[CI] [GHA] Remove usage of the `SimenB/github-actions-cpu-cores` action (#23583)
### Details:
 - The action does not have a License.
 - `cmake` should figure out the # of cores for parallel.
2024-03-21 14:25:55 +00:00
Monal Singh d5a664a296
[TF FE] Support complex tensors for OnesLike operation (#23445)
### Details:
 - *Adding support for OnesLike operation on complex type tensor*
- Closes #22953

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2024-03-21 14:17:53 +00:00
Maciej Smyk f81902db58
[DOCS] Latency highlight for OV devices + update of Optimize Inference for master (#23575)
Jira: 133389

* Added an indication on Latency being the default use for OV devices
* Streamlined the Optimize Inference article for better clarity.
2024-03-21 11:28:43 +00:00
Mustafa Cavus 09a388f8e9
Torch Compile - New Op Support (#23310)
New op support for:
 - torch.export updates
 - benchmarking model support
 - chatglm2 support

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ynimmaga <yamini.nimmagadda@intel.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
Co-authored-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
2024-03-21 11:13:09 +00:00
Zhang Yi 82021a3a17
[CPU]Fix GPT-J RoPE fusion (#23519)
### Details:
 - *Support new RoPE pattern of GPT-J*
- *Local test shows 17 % improvement for 2nd token latency for BF16 in
`Intel(R) Xeon(R) Platinum 8468`*

### Tickets:
 - *CVS-134949*
2024-03-21 10:33:57 +00:00
Bo Liu 12404fcc8b
[CPU] Enable concat nspc layout inplace for urlnet model cases (#23454)
### Details:
- *enable concat nspc layout inplace for channel only cases, with these
concat node use inplace impl, urlnet model gain performance benefits,
and this(intermediate concat node is nspc layout but actually is one
dimension) could be common case especially for models with 1D input*


### Tickets:
 - *130282*
2024-03-21 08:53:37 +00:00
Georgy Krivoruchko 9072ea7478
[ONNX] Extended ReduceMax by opsets 13,18,20 (#23475)
### Details:
 - Extended ReduceMax by opsets 13,18,20
 - Updated a using opset for ONNX to 20
 - Added tests for additional supported types
 - Enabled backend tests

### Tickets:
  - Closes #20555
2024-03-21 07:14:35 +00:00
Edward Shogulin c1223f9226
[CPU] [ARM64] jit eltwise: int8 support (#22687)
### Details:
 - *int8 support*

### Tickets:
 - *CVS-128643*
2024-03-21 06:52:45 +00:00
hyunback kim 85a670d868
[GPU] In gemm_tile_kernel, applied to use block read when N and K byte-size is aligned 4. (#23400)
### Details:
- *Element by element read is the bottle-neck in gemm_tiled kernel.
Enable block-read when N and K size are aligned 4byte with N and K are
leftover*.
- *Increasing tile_n_size has performance improvement when m_size and
n_size are not shallow and n_size is aligned at 32.*
 - *Add GEMM_TILE_M/N/K/SIMD environment variables for convenience.*

### Tickets:
 - *134279*

---------

Signed-off-by: hyunback <hyunback.kim@intel.com>
2024-03-21 06:47:35 +00:00
Luo Cheng 326200598a
[CPU] Add PagedAttention support (#23524)
### Details:
 - *Support PagedAttention support, depends on:*
- openvino_contrib:
https://github.com/openvinotoolkit/openvino_contrib/pull/867
    - vLLM: https://github.com/ilya-lavrenov/vllm/pull/4
 - *TODO*
    - Models with alibi feature
   
### Tickets:
 - *[134329](https://jira.devtools.intel.com/browse/CVS-134329)*
 - *[134327](https://jira.devtools.intel.com/browse/CVS-134327)*
2024-03-21 11:33:46 +04:00
Sergey Shlyapnikov 5a0d71a9ad
[GPU] Enable 8bit compression support on dGPU via oneDNN (#22740)
### Details:
 - Enable 8bit compression support on dGPU via oneDNN
 - Update oneDNN version
 - Enable oneDNN primitives cache

Ticket: 124115
2024-03-21 05:27:20 +00:00
Taylor Yeonbok Lee afd444a119
[GPU] Increase FC tile_b size for INT4 shape agnostic kernel (#23532)
### Details:
- Increased FC tile_B size for INT4 shape agnostic kernel for improving
context processing


### Tickets:
 - 133444
2024-03-21 00:20:40 +00:00
Maxim Vafin d7160d0a34
[PT FE] Make ModuleExtension patching in independent function scope (#23584)
### Details:
 - *Make ModuleExtension patching in independent function scope*

### Tickets:
 - *ticket-id*
2024-03-20 21:03:59 +04:00
Roman Kazantsev 5d5203ba86
[TF FE] Test TextVectorization on white-space string input and Equal on empty string tensor (#23572)
**Details:** Test `tf.keras.TextVectorization` on white-space string
input and Equal on empty string tensor.

**Ticket:** 135749

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2024-03-20 21:02:02 +04:00
Roman Lyamin 5ddca69676
[Transformations] Added If operation to NMS path propagation for ignore negative indices in Gather (#23451)
### Tickets:
 - *127874*
2024-03-20 14:16:12 +00:00
Sofya Balandina a661186eec
[api conformance] Fix batch/hetero plugins config (#23547)
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
2024-03-20 13:03:39 +00:00
Maxim Vafin edcb1b1edc
[PT FE] Add ModuleExtension (#23536)
### Details:
 - *Continuation of #22867*

### Tickets:
 - *CVS-133733*

---------

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
2024-03-20 12:57:53 +00:00
awayzjj 902f1b1af0
Add test for CoreImpl::get_versions() (#23336)
Closes [23298](https://github.com/openvinotoolkit/openvino/issues/23298)
### Tickets: 
- [CVS-132140](https://jira.devtools.intel.com/browse/CVS-132140)

---------

Co-authored-by: Oleg Pipikin <oleg.pipikin@intel.com>
2024-03-20 11:03:42 +00:00
Eddy Kim 3d45a64496
[GPU] Fixed not to set GATHER_AXIS_SHAPE_INFO_INDEX when input0 is static (#23548)
### Details:
- This PR fixes `Gather` not to set GATHER_AXIS_SHAPE_INFO_INDEX when
input0 is static.
 - It enables some functional tests again.
2024-03-20 00:38:14 +00:00
Maxim Vafin 7d5e4afe7e
[PT FE] Fix sporadic issue in quantized tests (#23520)
### Details:
 - *Relax quantized tests condition to remove sporadicity.*

### Tickets:
 - *CVS-129734*
2024-03-19 17:10:40 +00:00