Skip to content

Sync with Microsoft ONNX Runtime - 15/09/2025 - #811

Merged
ankitm3k merged 13 commits into
ovep-developfrom
sync_msft_15092025
Sep 15, 2025
Merged

Sync with Microsoft ONNX Runtime - 15/09/2025#811
ankitm3k merged 13 commits into
ovep-developfrom
sync_msft_15092025

Conversation

@Jaswanth51

Copy link
Copy Markdown

Synchronizing intel/onnxruntime ovep-develop branch with latest changes from microsoft/onnxruntime master branch.

Honry and others added 13 commits September 10, 2025 16:29
…t#25571)

### Description
Ensure all pre-allocated tensors do not trigger unnecessary data
copying. e.g. the WebNN EP always binds its tensor to 'ml-tensor'. In
such cases, the tensor ID might change after binding, but copying data
for these tensors should still be avoided.

### Motivation and Context
This improves efficiency and avoids redundant operations.
### Description
* Relax tolerances for ONNX attention node tests

### Motivation and Context
* Tests failing in Qualcomm Internal CI before relaxing tolerances, tests passing after
CPU MoE Kernel
```
name: SwigluMoEBlock, quant_bits: 0, dtype: FP32, batch: 1, seq_len: 16, max_diff: 2.682209014892578e-07
.name: SwigluMoEBlock, quant_bits: 0, dtype: FP32, batch: 1, seq_len: 32, max_diff: 2.980232238769531e-07
.name: SwigluMoEBlock, quant_bits: 0, dtype: FP32, batch: 2, seq_len: 16, max_diff: 2.980232238769531e-07
.name: SwigluMoEBlock, quant_bits: 0, dtype: FP32, batch: 2, seq_len: 32, max_diff: 4.172325134277344e-07
.MoE CPU kernel time: 15.721677541732786 ms
.
----------------------------------------------------------------------
Ran 5 tests in 30.217s
```
### Description
In latest WebNN spec, it requires the `scale` and `zeroPoint` rank to be
same as the input rank for `quantizeLinear` and `dequantizeLinear`
operators.

### Motivation and Context
This PR adjusts the shape of scale and zeroPoint by appending or
prepending 1s to their dimensions if they are not equal to the input
rank to align with the latest spec.
BTW, this PR also fixes some nits and makes some code improvement.
### Description
Update Qnn default version to 2.38.0.250901
…time. (microsoft#26011)

### Description
<!-- Describe your changes. -->

Add ONNX patch with changes from onnx/onnx#7253
to avoid regenerating proto files and improve rebuild time.

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->

Decrease incremental build times during development.
- Making sure that the Uniquename function is not called repeatedly
- Added unit test for int64 GatherND test for coverage

### Description
GatherND op is generating a unique name twice which is causing an issue
when Casting int32 tensor back to int64 for output.

### Motivation and Context
Making sure that the UniqueName function is just called once and reusing it for creating the CastOp.
…microsoft#25986)

### Description
* Remove workaround for input1 of FC not supporting uint quantization
* Remove workaround for PCQ not being supported on bias of layernorm
* Remove workaround for PCQ/uint conv weights unsupported
* Fix issue with zero point not being calculated correctly for uint
symmetric quantization
(microsoft#25823)

### Motivation and Context
* Fixes several issues faced by our development team when bringing up a model with PCQ

---------

Co-authored-by: Alahari Prudhvi Akhil <prudhvi@qti.qualcomm.com>
**Key changes**
This PR integrates KleidiAI SME1 FP32 kernels into the existing
kleidiai_sgemm.cpp implementation.

Adding SME2 flag in onnxruntime/core/common/cpuid_info.h &
onnxruntime/core/common/cpuid_info.cc
Previous SME2 kernels integrated were using SME(1) check, this change
will correctly distinguish between when SME1 and SME2 kernels are to be
used.

Bumping KleidiAI version to 1.10.0

**Indicative performance data**
Single thread Mac Mini M4 runs on various models using:
onnxruntime_perf_test -v -e cpu -I -m times -x 1 -y 1 -r 1
<img width="785" height="400" alt="image"
src="https://github.com/user-attachments/assets/37c0b271-14fb-4b76-b2a0-28c5dd9308aa"
/>

**Next steps**
Additional commits to come will address outstanding to-do issues from
previous PR linked below:
[ KleidiAI SGEMM/IGEMM/Quantized MatMul - Modular MLAS API Changes for
KleidiAI microsoft#25187](microsoft#25187)

Signed-off-by: Patryk Kaiser <patryk.kaiser@arm.com>
This pull request updates the following GitHub Actions to their latest
versions:

- `actions/checkout` to `v5`
- `actions/setup-python` to `v6`
- `actions/setup-node` to `v5`
- `actions/setup-java` to `v5`
- `actions/setup-dotnet` to `v5`

These updates were performed by a script that parsed all YAML workflow
files and updated the `uses` statements.
…ft#26015)

### Description
<!-- Describe your changes. -->
Add opset imports for internal domains when creating a model via Model
Editor API. This is consistent with the behavior when loading an ONNX
model (see
[here](https://github.com/microsoft/onnxruntime/blob/0b96cbef8da027adec09ebabc9d0a260334c1493/onnxruntime/core/graph/model.cc#L224-L255)).

### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
Required to make the ONNX file valid if the model is saved after
optimization.

microsoft#25914
This op is used in ORT GenAI and can be decomposed into DequantizeLinear
+ Gather for WebNN.
@Jaswanth51
Jaswanth51 requested a review from ankitm3k September 15, 2025 04:07
@ankitm3k
ankitm3k merged commit c098113 into ovep-develop Sep 15, 2025
6 of 8 checks passed
@ankitm3k
ankitm3k deleted the sync_msft_15092025 branch September 15, 2025 05:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants