OVEP: Bug Fixes, Refactoring, and Contrib Ops Update#23742
OVEP: Bug Fixes, Refactoring, and Contrib Ops Update#23742jywu-msft merged 7 commits intomicrosoft:mainfrom
Conversation
* update: Update MSFT Contrib Ops from OV * modified data_ops.cc to remove unsupported ops * disabled tests for EmbedLayerNormalisation and MatMulNBits --------- Co-authored-by: n1harika <[email protected]>
* Internal ci for PTL 1.1 (#523) * update: Update MSFT Contrib Ops in OVEP (#521) * update: Update MSFT Contrib Ops from OV * modified data_ops.cc to remove unsupported ops * disabled tests for EmbedLayerNormalisation and MatMulNBits --------- Co-authored-by: n1harika <[email protected]> * Add Max op to no_dimension_supported list --------- Co-authored-by: jatinwadhwa921 <[email protected]> Co-authored-by: Ankit Maheshkar <[email protected]> Co-authored-by: n1harika <[email protected]>
Python bindings don't call the provider factory shutdown method. We relied on this to avoid destruction order issues with statically scoped ov::Core objects. Refactor ov core and shared context lifetimes such that we don't need to rely on shutdown calls to manage life times and we avoid a static lifetime of the core. Co-authored-by: Eric Crawford <[email protected]>
…582) This change addresses an issue where a Pad op in quantized models fails due to an unsupported dimension input. The fix adds logic to detect if a Pad op is part of a quantized model by checking for a DequantizeLinear input. If found, the op is marked as quantized and the unsupported dimension check is bypassed, ensuring that the pad_value remains constant as required by the VPUX compiler. Related-to: EISW-152222 Co-authored-by: Surendar Rama Sitaraman <[email protected]>
|
/azp run Linux OpenVINO CI Pipeline |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run Linux CPU CI Pipeline, Linux CPU Minimal Build E2E CI Pipeline, Linux GPU CI Pipeline, Linux GPU TensorRT CI Pipeline, MacOS CI Pipeline, ONNX Runtime Web CI Pipeline, onnxruntime-binary-size-checks-ci-pipeline, Linux QNN CI Pipeline |
|
Azure Pipelines successfully started running 8 pipeline(s). |
|
/azp run Windows CPU CI Pipeline, Windows GPU CI Pipeline, Windows GPU TensorRT CI Pipeline, Windows ARM64 QNN CI Pipeline, Windows x64 QNN CI Pipeline, Big Models |
|
Azure Pipelines successfully started running 5 pipeline(s). |
|
/azp run Linux Android Emulator QNN CI Pipeline, Windows GPU CUDA CI Pipeline, Windows GPU DML CI Pipeline, Windows GPU Doc Gen CI Pipeline |
|
Azure Pipelines successfully started running 4 pipeline(s). |
|
/azp run Win TRT Minimal CUDA Test CI Pipeline |
|
No pipelines are associated with this pull request. |
|
/azp run Windows TRT Minimal CUDA Test CI Pipeline |
|
No pipelines are associated with this pull request. |
|
/azp run Windows TensorRT Minimal CUDA Test CI Pipeline |
|
No pipelines are associated with this pull request. |
|
/azp run Win_TRT_Minimal_CUDA_Test_CI |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Could you list the contrib ops supported by this PR? |
|
These are contrib ops
|
|
/azp run Linux GPU CI Pipeline |
|
Azure Pipelines successfully started running 1 pipeline(s). |
@saurabhkale17 Please list them in the git commit message. |
yihonglyu
left a comment
There was a problem hiding this comment.
Could you enable tests for the contrib ops added in this PR?
### Description This pull request combines multiple improvements, bug fixes for the OpenVINO Execution Provider (OVEP). The changes are summarized as follows: 1. Support for various contrib Ops in OVEP. 2. Dimension Check Fixes for Greater, Pad, and MAX Ops: Fixed dimension check failures for the Greater, Pad, and MAX ops in OVEP, ensuring they now pass validation for all supported models. 3. Refactor Core and Shared Context Lifetimes: Refactored the lifetimes of the OpenVINO core and shared context to remove dependency on shutdown calls. This change avoids relying on static lifetime management and improves stability and resource cleanup. 4. Fix for Duplicate DQ Node Removal: Addressed an issue where duplicate Dequantize (DQ) nodes that were initializers were incorrectly removed. Initializers should always be preserved, and this fix ensures that all duplicate DQ nodes that are initializers are retained. --------- Co-authored-by: Ankit Maheshkar <[email protected]> Co-authored-by: n1harika <[email protected]> Co-authored-by: rayngun <[email protected]> Co-authored-by: jatinwadhwa921 <[email protected]> Co-authored-by: Eric Crawford <[email protected]> Co-authored-by: Surendar Rama Sitaraman <[email protected]>
### Description This pull request combines multiple improvements, bug fixes for the OpenVINO Execution Provider (OVEP). The changes are summarized as follows: 1. Support for various contrib Ops in OVEP. 2. Dimension Check Fixes for Greater, Pad, and MAX Ops: Fixed dimension check failures for the Greater, Pad, and MAX ops in OVEP, ensuring they now pass validation for all supported models. 3. Refactor Core and Shared Context Lifetimes: Refactored the lifetimes of the OpenVINO core and shared context to remove dependency on shutdown calls. This change avoids relying on static lifetime management and improves stability and resource cleanup. 4. Fix for Duplicate DQ Node Removal: Addressed an issue where duplicate Dequantize (DQ) nodes that were initializers were incorrectly removed. Initializers should always be preserved, and this fix ensures that all duplicate DQ nodes that are initializers are retained. --------- Co-authored-by: Ankit Maheshkar <[email protected]> Co-authored-by: n1harika <[email protected]> Co-authored-by: rayngun <[email protected]> Co-authored-by: jatinwadhwa921 <[email protected]> Co-authored-by: Eric Crawford <[email protected]> Co-authored-by: Surendar Rama Sitaraman <[email protected]>
### Description This pull request combines multiple improvements, bug fixes for the OpenVINO Execution Provider (OVEP). The changes are summarized as follows: 1. Support for various contrib Ops in OVEP. 2. Dimension Check Fixes for Greater, Pad, and MAX Ops: Fixed dimension check failures for the Greater, Pad, and MAX ops in OVEP, ensuring they now pass validation for all supported models. 3. Refactor Core and Shared Context Lifetimes: Refactored the lifetimes of the OpenVINO core and shared context to remove dependency on shutdown calls. This change avoids relying on static lifetime management and improves stability and resource cleanup. 4. Fix for Duplicate DQ Node Removal: Addressed an issue where duplicate Dequantize (DQ) nodes that were initializers were incorrectly removed. Initializers should always be preserved, and this fix ensures that all duplicate DQ nodes that are initializers are retained. --------- Co-authored-by: Ankit Maheshkar <[email protected]> Co-authored-by: n1harika <[email protected]> Co-authored-by: rayngun <[email protected]> Co-authored-by: jatinwadhwa921 <[email protected]> Co-authored-by: Eric Crawford <[email protected]> Co-authored-by: Surendar Rama Sitaraman <[email protected]>
Description
This pull request combines multiple improvements, bug fixes for the OpenVINO Execution Provider (OVEP). The changes are summarized as follows:
Support for various contrib Ops in OVEP.
Dimension Check Fixes for Greater, Pad, and MAX Ops: Fixed dimension check failures for the Greater, Pad, and MAX ops in OVEP, ensuring they now pass validation for all supported models.
Refactor Core and Shared Context Lifetimes: Refactored the lifetimes of the OpenVINO core and shared context to remove dependency on shutdown calls. This change avoids relying on static lifetime management and improves stability and resource cleanup.
Fix for Duplicate DQ Node Removal: Addressed an issue where duplicate Dequantize (DQ) nodes that were initializers were incorrectly removed. Initializers should always be preserved, and this fix ensures that all duplicate DQ nodes that are initializers are retained.