forked from microsoft/onnxruntime
-
Notifications
You must be signed in to change notification settings - Fork 57
Sync with Microsoft ONNX Runtime - 01/10/2025 #820
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…n assigned (microsoft#26156) ### Description Fixes segfault in `PluginExecutionProvider::GetCapability()` when the underlying `OrtEp` tries to claim nodes that have already been assigned to another EP. ### Motivation and Context Should log a warning (instead of crashing or throwing an exception) when a plugin EP tries to claim a node that is already assigned to another EP. --------- Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/407">actions/download-artifact#407</a></li> <li>BREAKING fix: inconsistent path behavior for single artifact downloads by ID by <a href="https://github.com/GrantBirki"><code>@GrantBirki</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/416">actions/download-artifact#416</a></li> </ul> <h2>v5.0.0</h2> <h3>🚨 Breaking Change</h3> <p>This release fixes an inconsistency in path behavior for single artifact downloads by ID. <strong>If you're downloading single artifacts by ID, the output path may change.</strong></p> <h4>What Changed</h4> <p>Previously, <strong>single artifact downloads</strong> behaved differently depending on how you specified the artifact:</p> <ul> <li><strong>By name</strong>: <code>name: my-artifact</code> → extracted to <code>path/</code> (direct)</li> <li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted to <code>path/my-artifact/</code> (nested)</li> </ul> <p>Now both methods are consistent:</p> <ul> <li><strong>By name</strong>: <code>name: my-artifact</code> → extracted to <code>path/</code> (unchanged)</li> <li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted to <code>path/</code> (fixed - now direct)</li> </ul> <h4>Migration Guide</h4> <h5>✅ No Action Needed If:</h5> <ul> <li>You download artifacts by <strong>name</strong></li> <li>You download <strong>multiple</strong> artifacts by ID</li> <li>You already use <code>merge-multiple: true</code> as a workaround</li> </ul> <h5>⚠️ Action Required If:</h5> <p>You download <strong>single artifacts by ID</strong> and your workflows expect the nested directory structure.</p> <p><strong>Before v5 (nested structure):</strong></p> <pre lang="yaml"><code>- uses: actions/download-artifact@v4 with: artifact-ids: 12345 path: dist # Files were in: dist/my-artifact/ </code></pre> <blockquote> <p>Where <code>my-artifact</code> is the name of the artifact you previously uploaded</p> </blockquote> <p><strong>To maintain old behavior (if needed):</strong></p> <pre lang="yaml"><code></tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/634f93cb2916e3fdff6788551b99b062d0335ce0"><code>634f93c</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/416">#416</a> from actions/single-artifact-id-download-path</li> <li><a href="https://github.com/actions/download-artifact/commit/b19ff4302770b82aa4694b63703b547756dacce6"><code>b19ff43</code></a> refactor: resolve download path correctly in artifact download tests (mainly ...</li> <li><a href="https://github.com/actions/download-artifact/commit/e262cbee4ab8c473c61c59a81ad8e9dc760e90db"><code>e262cbe</code></a> bundle dist</li> <li><a href="https://github.com/actions/download-artifact/commit/bff23f9308ceb2f06d673043ea6311519be6a87b"><code>bff23f9</code></a> update docs</li> <li><a href="https://github.com/actions/download-artifact/commit/fff8c148a8fdd56aa81fcb019f0b5f6c65700c4d"><code>fff8c14</code></a> fix download path logic when downloading a single artifact by id</li> <li><a href="https://github.com/actions/download-artifact/commit/448e3f862ab3ef47aa50ff917776823c9946035b"><code>448e3f8</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/407">#407</a> from actions/nebuk89-patch-1</li> <li><a href="https://github.com/actions/download-artifact/commit/47225c44b359a5155efdbbbc352041b3e249fb1b"><code>47225c4</code></a> Update README.md</li> <li>See full diff in <a href="https://github.com/actions/download-artifact/compare/v4...v5">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Description Fix warnings in non-CUDA EP Windows builds ### 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. --> Minor fix from microsoft#26102
This pull request introduces a new mechanism for handling tensor shape information in ONNX Runtime, improving the representation and querying of shape and symbolic dimension data. The changes add support for tensors that may not have shape information, update APIs to reflect this, and refactor internal shape handling logic for improved consistency and extensibility. ### API and Core Logic Improvements * Added a new API method `TensorTypeAndShape_HasShape` to `OrtApi` and corresponding C++ wrapper `HasShape()` in `TensorTypeAndShapeInfoImpl`, allowing users to check if a tensor has shape information. [[1]](diffhunk://#diff-5845a5c76fb64abdc8f0cffe21b37f8da1712674eb3abc4cd87190891be1bd48R6583-R6590) [[2]](diffhunk://#diff-17f64e8b38fcdcd25e90abcabeec4b420956b15fe63868a5d0b270c376bde209R1785) [[3]](diffhunk://#diff-cc93f5f9d8078d3d3af14c9bb4c0c59e25a99f3ec75d7772ea20111ed7eb6ddeL1985-R1990) * Updated all shape-related API implementations (e.g., `GetDimensionsCount`, `GetDimensions`, `GetSymbolicDimensions`, `GetTensorShapeElementCount`) to properly handle the case when a tensor does not have shape information, returning zero or empty values as appropriate. ### Refactoring and Consistency * Refactored `OrtTensorTypeAndShapeInfo` to store shape information in an optional structure, and updated all related methods to use pointers instead of direct objects, improving consistency and future extensibility. [[1]](diffhunk://#diff-4756b499067c0b1f266a64e07fcdc7e994fef5cef7f3bd68fe413d673cac7477L223-R282) [[2]](diffhunk://#diff-e5038e85df9dca9aed186026cb784ccd367130f37ac046ffbc75958be81d343aR6) * Updated methods for constructing shape/type info to accept pointers and handle cases where shape may be absent, including changes in `onnxruntime_typeinfo.cc` and related API calls. [[1]](diffhunk://#diff-b149047a296b19c4da5ade443da01adc5fd9f1bf3458516f5d6ebd0940e0b0fbL173-R173) [[2]](diffhunk://#diff-b149047a296b19c4da5ade443da01adc5fd9f1bf3458516f5d6ebd0940e0b0fbL184-R184) [[3]](diffhunk://#diff-b149047a296b19c4da5ade443da01adc5fd9f1bf3458516f5d6ebd0940e0b0fbL197-R197) [[4]](diffhunk://#diff-b149047a296b19c4da5ade443da01adc5fd9f1bf3458516f5d6ebd0940e0b0fbL306-R307) [[5]](diffhunk://#diff-4756b499067c0b1f266a64e07fcdc7e994fef5cef7f3bd68fe413d673cac7477L279-R320) [[6]](diffhunk://#diff-4756b499067c0b1f266a64e07fcdc7e994fef5cef7f3bd68fe413d673cac7477L305-R339) [[7]](diffhunk://#diff-4756b499067c0b1f266a64e07fcdc7e994fef5cef7f3bd68fe413d673cac7477L347-R381) ### Graph and Proto Serialization * Modified graph-to-proto conversion logic to propagate and respect the presence or absence of shape information, ensuring that ONNX graph serialization accurately reflects tensor shape status. [[1]](diffhunk://#diff-43bd1f5614c593153ace5847907605341284e6025ce60dd9ec22b1fa7434b275L228-R229) [[2]](diffhunk://#diff-43bd1f5614c593153ace5847907605341284e6025ce60dd9ec22b1fa7434b275R394-R397) [[3]](diffhunk://#diff-43bd1f5614c593153ace5847907605341284e6025ce60dd9ec22b1fa7434b275L496-R511) [[4]](diffhunk://#diff-43bd1f5614c593153ace5847907605341284e6025ce60dd9ec22b1fa7434b275R522) [[5]](diffhunk://#diff-43bd1f5614c593153ace5847907605341284e6025ce60dd9ec22b1fa7434b275R539-R551) These changes collectively improve the robustness and flexibility of ONNX Runtime's handling of tensor shape information, and lay the groundwork for supporting more dynamic and symbolic tensor shapes in future development.
Prepare for blackwell feature work.
### Description Add a build option for new kernels introduced in microsoft#25580 ### Motivation and Context This enables building ORT with NCHWc ARM kernels. At the time of writing, it is turned OFF by default because its performance relative to "regular" NCHW kernels is not good at smaller thread counts. But its speed-up is non-negligible with higher thread counts on supporting ARM platforms. Once the gap is closed for smaller thread counts, it can be turned on by default. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Only allows int64 data type when current WebNN context totally doesn't support int64 but support int32.
…ings (microsoft#26201) This pull request addresses two build warnings that were treated as errors: 1. **`maybe-uninitialized` warning in `nchwc_transformer.cc`**: A `maybe-uninitialized` warning was triggered when accessing `nchwc_inputs[0]` without checking if `nchwc_inputs` was empty. This could lead to a crash if a binary node had no inputs. The fix adds a check to ensure the vector is not empty before accessing the first element. 2. **`range-loop-construct` warnings in `transformer_memcpy.cc`**: The compiler warned about creating copies of objects in range-based for loops. This was resolved by using references (`const auto&`) instead of copies (`const auto`) for the loop variables, which is more efficient. This fix was provided by an AI bot.
### Description <!-- Describe your changes. --> Use of the KleidiAI library is not supported on all platforms. Previously, this support detection was done in both `tools/ci_build/build.py` and `cmake/CMakeLists.txt`. This change consolidates and simplifies the checks. They are now done in one place in the CMake logic. Move setting of onnxruntime_target_platform into a separate file. ### 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. --> Clean up and simplify.
GEMM has 2D input, when given `axis=-1` in DequantizeLinear node attributes. The check `axis == expected_axis` would fail. However, it sematically the same (-1 and 1 for 2D GEMM's input). Normalize the check so we can still perform the quantization for this case. --------- Co-authored-by: Edward Chen <18449977+edgchen1@users.noreply.github.com>
### Description The `MLAS_USE_SVE` macro was missing for some unittests/benchmark targets. In the original PR, it was scoped down to just the mlas target and this resulted in different mlas platform struct definitions across targets. ### Motivation and Context Fix pipeline crash and unblock daily pipeline run microsoft#25238 (change that introduced the issue)
WebNN spec changed the output names of `gru` and `lstm` for `OpSupportLimits` in webmachinelearning/webnn#857, renamed them in WebNN EP as well.
ankitm3k
approved these changes
Oct 1, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Synchronizing intel/onnxruntime ovep-develop branch with latest changes from microsoft/onnxruntime master branch.