Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feat): add support for microsoft.range operator for ONNX frontend #28177

Closed
wants to merge 147 commits into from

Conversation

11happy
Copy link
Contributor

@11happy 11happy commented Dec 22, 2024

Overview:
This pull request fixes #17575 .

Dependencies:

  • No dependencies on other pull requests.

CC:

@11happy 11happy requested a review from a team as a code owner December 22, 2024 12:34
@github-actions github-actions bot added the category: ONNX FE OpenVINO ONNX FrontEnd label Dec 22, 2024
@sys-openvino-ci sys-openvino-ci added the ExternalPR External contributor label Dec 22, 2024
@mlukasze
Copy link
Contributor

please, resolve conflicts

isanghao and others added 25 commits December 24, 2024 00:28
### Details:
 - Integrated grouped dynamic quantization from onednn
 - Integrated asymmetric per-token dynamic quantization from onednn
 - Those are not enabled by default, yet

### Tickets:
 - 148732, 157869, 157589
…otoolkit#27972)

### Details:
 - fixed crash happens in minicpm-1b-sft int4 model 

### Tickets:
 - *ticket-id*
**Details:** Run If tests on all platforms

**Ticket:** TBD

---------

Signed-off-by: Kazantsev, Roman <[email protected]>
### Details:
 - *replace  impl string brdgmm with brgconv*
 - *add test case*
 - *remove skip CVS-56143 config, CVS-56143 is already closed*
 - *remove skip CVS-53578 config, CVS-53578 is already closed*
 - *use new ticket CVS-157596 to track leftover test case*

### Tickets:
 - *CVS-156792*

---------

Signed-off-by: HU Yuan2 <[email protected]>
…penvinotoolkit#27666)

### Details:
 - Based on openvinotoolkit#27304, should be reviewed after it.

### Tickets:
 - *152690*
### Details:
 - Fixes in unit tests failures
openvinotoolkit#26239)

### Details:
1.  Introduce the following operations to the internal opset

    * `FullyConnected` (`MatMul` with transposed constant second input)
* `FullyConnectedCompressed` (`FullyConnected` with weights compression)
* `FullyConnectedQuantizedLegacy` (`FullyConnected` with quantized
activations and weights and dequantize scale and zero point pulled
through the Op by LPT)
* `FullyConnectedQuantized` (`FullyConnected` with quantization scales
and zero points on activation, weights and outputs). Planned to be used
in scope of dynamic quantization. Can be used for a static quantization
as well in the future.
    * Unused inputs are presented as `Constant` input with `Shape{0}`

2. The following transformations were added / updated:
* `ConvertFullyConnectedToFullyConnectedCompressed` (replaces
proprietary ~`FuseFCAndWeightsDecompression`~)
* `ConvertFCToFCQuantizedLegacy` replaces proprietary
~`FuseConvMatmulFCDeconvAndDQScales`~
* `FullyConnectedBiasFusion` (added into CPU folder for now, needs to be
checked and review by GPU team before adaptation to internal opset).
Replaces proprietary ~`FuseConvolutionMatMulDeconvAndBias`~
* `ConvertMatMulToFC` updated to use `ov::op::internal:FullyConnected`,
planned to be moved to internal opset after review from GPU team

### Todo
 - [x] Clean up debug code
 - [x] Clean up extra cmake targets
 - [x] Perf regression check

### Tickets:
 - 149923
### Details:
 - *item1*
 - *...*

### Tickets:
 - *ticket-id*
**Details:** It appears since JAX 0.4.36

**Ticket:** 158994

Signed-off-by: Kazantsev, Roman <[email protected]>
### Details:
- Replacement for openvinotoolkit#27644

### Tickets:
 - CVS-154602
 - CVS-157192
### Details:
 - modify class Profiler, add additional time info dumping

### Tickets:
 - 157579

Co-authored-by: Ivan Tikhonov <[email protected]>
…imension (openvinotoolkit#27939)

NOP-elimination doesn't allow the removal of unnecessary data-movement
operations stacked on top of each other if their shapes are dynamic,
even
though certain cases of dynamic shapes can be covered by
NOP-elimination.

Allow NOP-elimination for dynamic shapes if they have only the 0th
dimension dynamic and other static, making this case compatible for
such a fusion.

- Tickets:
  * CVS-158394

Signed-off-by: Andrii Staikov <[email protected]>

---------

Signed-off-by: Andrii Staikov <[email protected]>
### Details:
Clean-up code - create compiler adapter factory class to create the
proper compiler adapter.

### Tickets:
 - *CVS-158848*

Signed-off-by: Bogdan Pereanu <[email protected]>
### Details:
- copy `openvino/runtime/op/` to `openvino`. `op/` is not initialized in
`openvino/runtime/__init__.py`. Update inits in openvino/runtime/op/
- update rule `src/openvino/runtime/*/ops.py: VNE001,VNE003` in
_setup.cfg_
- For opset 1 - 16:
  - move `runtime/opsetx/ops.py`. 
  - update opsetx inits to import from new ops.py location. 
  - add `runtime/opsetx/ops/__init__.py`.
- initialize opsets in openvino init
- add imports for opset14-16 to `openvino/runtime/__init__.py`
- adds possibility to import opsets directly:
```python
import openvino.opset13 as ops
param = ops.parameter([10])
```
or
```python
import openvino as ov
param = ov.opset13.parameter([10])
```


### Tickets:
 - CVS-129458

---------

Signed-off-by: Alicja Miloszewska <[email protected]>
### Details:
 - *Fix gws value of resample onnx kernel with fs_b_yx_fsv32 format*

### Tickets:
 - *158837*
…t#28010)

Remove the small ones we probably don't need to track this way
### Details:
- Disable swiglu fusion which was removed from the previous PR
openvinotoolkit#27831 by accident..
### Tickets:
 - *ticket-id*
### Details:
- This PR fixes: 1562334, 1559879, 1559863, 1559854, 1559677, 1559879,
1559863

- 1559461 and 1559460 are related to ov::pass::pattern::matcher in
`decompose_reduce_scalar_output.cpp`
- 1559886 and 1559881 are related to ov::pass::pattern::matcher in
`transpose_fusion.cpp`
- 1559862 is related to ov::pass::pattern::matcher in
`transpose_fusion.cpp`
- 1559698 and 1559691 are related to ov::pass::pattern::matcher in
`bcast_and_pad_zp_buffers.cpp`

- all member variables are initialized in the constructors' initializer
lists of `ov::pass::pattern::matcher` to address 1559461, 1559460,
1559886, 1559881, 1559862, 1559698, 1559691.

### Tickets:
 - [*CVS-153064*](https://jira.devtools.intel.com/browse/CVS-153064)
 - CVS-145082

---------

Co-authored-by: Pavel Durandin <[email protected]>
…ic (openvinotoolkit#27988)

### Details:
- GPU with systolic does not need FC scaling
- GPU with systolic does not support kv cache compresssion yet
@github-actions github-actions bot added category: CPU OpenVINO CPU plugin category: build OpenVINO cmake script / infra category: Python API OpenVINO Python bindings category: transformations OpenVINO Runtime library - Transformations category: LP transformations OpenVINO Low Precision transformations category: samples OpenVINO Runtime Samples category: IR FE OpenVINO IR v10 / v11 FrontEnd category: CI OpenVINO public CI category: docs OpenVINO documentation category: tools OpenVINO C++ / Python tools category: TEMPLATE OpenVINO Template plugin category: dependency_changes Pull requests that update a dependency file category: AUTO OpenVINO AUTO device selection plugin category: PDPD FE OpenVINO PaddlePaddle FrontEnd category: TF FE OpenVINO TensorFlow FrontEnd category: CPP API OpenVINO CPP API bindings category: AUTO BATCH OpenVINO Auto Batch plugin github_actions Pull requests that update GitHub Actions code category: PyTorch FE OpenVINO PyTorch Frontend category: TFL FE OpenVINO TensorFlow Lite FrontEnd category: JS API OpenVino JS API Bindings no-match-files category: docs_snippets OpenVINO docs snippets (docs/snippets) category: NPU OpenVINO NPU plugin category: dockerfiles category: JAX FE OpenVINO JAX FrontEnd category: OVC OVC tool category: NPUW NPUW plugin labels Dec 23, 2024
@11happy
Copy link
Contributor Author

11happy commented Dec 23, 2024

I mistakenly messed the rebase, I will close it and create a fresh PR.

@11happy 11happy closed this Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: AUTO BATCH OpenVINO Auto Batch plugin category: AUTO OpenVINO AUTO device selection plugin category: build OpenVINO cmake script / infra category: CI OpenVINO public CI category: Core OpenVINO Core (aka ngraph) category: CPP API OpenVINO CPP API bindings category: CPU OpenVINO CPU plugin category: dependency_changes Pull requests that update a dependency file category: dockerfiles category: docs_snippets OpenVINO docs snippets (docs/snippets) category: docs OpenVINO documentation category: GPU OpenVINO GPU plugin category: IE Tests OpenVINO Test: plugins and common category: inference OpenVINO Runtime library - Inference category: IR FE OpenVINO IR v10 / v11 FrontEnd category: JAX FE OpenVINO JAX FrontEnd category: JS API OpenVino JS API Bindings category: LP transformations OpenVINO Low Precision transformations category: NPU OpenVINO NPU plugin category: NPUW NPUW plugin category: ONNX FE OpenVINO ONNX FrontEnd category: OVC OVC tool category: PDPD FE OpenVINO PaddlePaddle FrontEnd category: Python API OpenVINO Python bindings category: PyTorch FE OpenVINO PyTorch Frontend category: samples OpenVINO Runtime Samples category: TEMPLATE OpenVINO Template plugin category: TF FE OpenVINO TensorFlow FrontEnd category: TFL FE OpenVINO TensorFlow Lite FrontEnd category: tools OpenVINO C++ / Python tools category: transformations OpenVINO Runtime library - Transformations ExternalPR External contributor github_actions Pull requests that update GitHub Actions code no-match-files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Extend ONNX Frontend with com.microsoft.Range operator