Repository navigation
Sync with Microsoft ONNX Runtime - 23102026 - #1358
Merged
Merged
Conversation
…soft#33383) ## Description Stacked on microsoft#33224 (base `kvaishnavi/index-share`; review only the top commit). Adds an optional `state_status` output to `PackedSparseAttentionIndexer` that reports, per request, whether this call's state update was applied or rejected, and why. Today a rejected step (inconsistent cursor or `state_capacity` overflow) is a safe no-op on state with an empty selection, but the caller cannot tell it happened: the rejection flags live in a scratch buffer and `indexshare_status` is only produced on the IndexShare interface. A CUDA-graph-replayed decode/verify loop cannot synchronize inside the operator, so it needs a device tensor it can read on the host after replay. ## Summary of Changes ### Schema and docs | File | Change | |------|--------| | `bert_defs.cc` | New optional output 8 `state_status` (int32, shape `(batch_size)`); declared output range is now 6-9; type/shape inference; one doc sentence | | `packed_sparse_attention_indexer_common.h` | `kStateStatus = 8`, `kOutputCount = 9`, `StateStatusCode` {0 ok, 1 invalid device metadata, 2 capacity overflow} | | `docs/ContribOperators.md`, `docs/contrib_ops/packed_sparse_attention_indexer.md` | Output and status contract | ### CUDA / WebGPU | File | Change | |------|--------| | `packed_sparse_attention_indexer_impl.cu/.h` | The QSA and CSA update kernels write the code (1 or 2) instead of the boolean `1` into the existing `overflow_flags`; all readers still test `!= 0`, so selection behaviour is unchanged | | `packed_sparse_attention_indexer.cc` | When output 8 is requested it is used as the `overflow_flags` buffer (no extra kernel, no copy, no host sync). On the IndexShare reuse path that holds state (QSA, CSA `hold`) it is zero-filled with `cudaMemsetAsync` | | `webgpu/.../packed_sparse_attention_indexer.cc` | Fails if `state_status` is requested (CUDA only, like IndexShare) | ### Semantics - A non-zero request leaves its state unchanged and emits an empty selection (`selected_counts == 0`, indices `-1`), exactly as before. - Codes follow `PackedSparseAttentionIndexerMerge` (1 invalid device metadata, 2 capacity overflow). - `state_status` is independent of `indexshare_status` (per-query selection status, forwarded on reuse and zero on refresh). On CSA reuse with `advance`, both are set when a row is rejected. - Default behaviour is unchanged: the output is optional and absent in existing models. ## Testing Built with CUDA 13.0, sm_90, in-tree CUDA EP, and run on one H200: ``` CUDA_VISIBLE_DEVICES=5 ./onnxruntime_provider_test \ --gtest_filter='*PackedSparseAttentionIndexer*:*DynamicSparseAttention*:*SparseAttentionIndexer*:*SparsePagedAttention*' ``` 177 passed (17 WebGPU tests skipped, no WebGPU in this build); `PackedSparseAttentionIndexerTest.*` repeated 20 times, no flake. New tests in `packed_sparse_attention_indexer_op_test.cc` (`Qsa/CsaStateStatus*`, `IndexShareCsaAdvanceReportsStateStatus`, `QsaTwoRowStepEqualsChainedSingleRowSteps`): - status values for a healthy batch, capacity overflow, inconsistent cursor, malformed state lengths, and mixed batches `{ok, invalid, overflow}`, for QSA and CSA, checked against the host reference (which now also computes the codes); - requesting `state_status` leaves selections and state bit-identical to not requesting it; - IndexShare CSA reuse with state overflow reports `indexshare_status = 1` and `state_status = 2`; - a two-row QSA step (one request, two tokens, `compress_ratio` 2 and 4, all three cursor phases) is bit-identical in selections, block state and pending entries to two chained one-row steps. This passes without any kernel change, i.e. the multi-row verify step is already supported by `main`; the test pins that contract. Mutation checks: with the output plumbing removed 7 new tests fail; with code 2 reported as 1, 4 fail; existing tests pass in both. Not covered: WebGPU compile (not in this build), plugin-EP build, an end-to-end CUDA-graph capture/replay (the kernels are launch-only and the reuse-path zero fill is `cudaMemsetAsync`, so nothing in the path synchronizes). ## Motivation and Context Needed by decode/verify loops that capture the indexer in a CUDA graph and drive it with device-resident lengths (as in the multi-token verify path of microsoft#33328). Reuses the status convention introduced in microsoft#33224 so callers see one scheme. Touches different hunks from microsoft#33328 (scoring kernels); a trivial merge is expected for the test file. ## Checklist - [x] Tests added/updated - [x] No breaking changes (new optional output; the declared output range grows from 6-8 to 6-9) - [x] Documentation updated --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…microsoft#33494) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.16.0 to 1.16.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/46301256333c90b7faac7aa126effe72ec16d16e"><code>4630125</code></a> Release version 1.16.1 of the npm package.</li> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/9865ca45490e4d0f7b6944870318408344570aff"><code>9865ca4</code></a> Support key/value header arrays.</li> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/080a76d0e125b37bf81717368a61d5dc37aa56c8"><code>080a76d</code></a> Escape all RegExp modifiers.</li> <li>See full diff in <a href="https://github.com/follow-redirects/follow-redirects/compare/v1.16.0...v1.16.1">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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/onnxruntime/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.16.0 to 1.16.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/46301256333c90b7faac7aa126effe72ec16d16e"><code>4630125</code></a> Release version 1.16.1 of the npm package.</li> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/9865ca45490e4d0f7b6944870318408344570aff"><code>9865ca4</code></a> Support key/value header arrays.</li> <li><a href="https://github.com/follow-redirects/follow-redirects/commit/080a76d0e125b37bf81717368a61d5dc37aa56c8"><code>080a76d</code></a> Escape all RegExp modifiers.</li> <li>See full diff in <a href="https://github.com/follow-redirects/follow-redirects/compare/v1.16.0...v1.16.1">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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/onnxruntime/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
> OpenVINO™ supports inference on CPU (x86, ARM) OpenVINO should not be limited to Intel CPUs, works fine on AMD CPUs and others and even ARM.
…oft#33367) > **Stacked on microsoft#33094.** The base branch is `kvaishnavi/qwen38-nvfp4-offline-packing`, so the diff below is this change only. Once microsoft#33094 merges, this PR will be retargeted to `main`. Opened as a draft until then. ## Description Optimizes dense chunked prefill across the operators on the critical path of NVFP4 hybrid `SparseAttentionIndexer` (QSA) / `DynamicSparseAttention` (DSA) / `GatedDeltaNet` (GDN) / `HyperConnection` / `QMoE` models (such as Qwen3.8-Flash-Next on H200): 1. **`QMoE` NVFP4 prefill (`qmoe_kernels.cu`, `moe_quantization.cc`)**: - Adds `QMoEDequantizeNvfp4RowMajorKernel`, a coalesced 32-column dequantization kernel for row-major (`weights_prepacked=1`, `[E, N, K/2]`) NVFP4 weights (one 16-byte weight load, 2 scale bytes, and 64 bytes of output per thread, bit-identical to the scalar kernel). - Adds `PickPrefillTactic` (`ORT_QMOE_PREFILL_TACTIC=0` disables), a profile-free prefill tactic selector for the dense A16 grouped GEMMs when `ORT_FORCE_DETERMINISTIC_MOE` pins the tactic (whose default first entry is a decode tile `128x16x64`). 2. **`GatedDeltaNet` (`gated_delta_net.cc`, `gated_delta_net_impl.cu` / `.h`)**: - Serves `BFloat16` prefill through the FP16 tensor-core chunked engine (`kChunked` / `kChunkedSplit`) via exact BF16 <-> FP16 casts of `q`, `k`, `v`, and `output` instead of falling back to the sequential token-by-token recurrence (`ORT_GDN_BF16_VIA_FP16=0` disables). 3. **`DynamicSparseAttention` (`dynamic_sparse_attention_prefill.cuh`, `dynamic_sparse_attention_impl.cu`)**: - Adds `DynamicSparseAttentionPrefillKernel` (`ORT_DSA_PREFILL_KERNEL=0` disables), a tensor-core (`mma.sync.aligned.m16n8k16`) flash-style online-softmax prefill kernel for `selected_only` / main-KV `bfloat16` (`head_size == 256`, `sequence_length >= 8`). One CTA handles one `(query row, KV head)` and stages gathered candidate K/V tiles once across the GQA head group via `cp.async`. 4. **`SparseAttentionIndexer` (`sparse_attention_indexer_impl.cu`)**: - Adds two-step prefill scoring (`ORT_QSA_TILED_SCORING=0` disables): `QsaPoolBlockKeysKernel` pools, RMS-normalizes, and rotates each complete block key once per `(batch, block)` instead of once per `(query row, block)`, followed by `QsaTiledBlockScoreKernel`, a register-tiled (`64x64` per CTA, `4x4` per thread) FP32 GEMM scoring kernel. 5. **`HyperConnectionPreMix` / `HyperConnectionPostMix` (`hyper_connection_pre_mix_impl.cu`, `hyper_connection_post_mix_impl.cu`)**: - Adds 8-wide (`uint4`) vectorized 16-bit kernels (`PreMixVecKernel`, `PostMixVecKernel`) preserving exact accumulation order. 6. **`Transpose` (`transpose.cc`)**: - Dispatches rank-2 `[m, n] -> [n, m]` transposes (including collapsed `[1, m, n] -> [1, n, m]` transposes) for element types without a cuBLAS path (`bfloat16`) to the tiled batch-1 `Transpose3DImpl` kernel instead of the generic strided kernel. ## Summary of Changes | File | Change | |------|--------| | `onnxruntime/contrib_ops/cuda/bert/dynamic_sparse_attention_prefill.cuh` | New tensor-core (`mma.sync m16n8k16`) flash-style prefill kernel for `DynamicSparseAttention` | | `onnxruntime/contrib_ops/cuda/bert/dynamic_sparse_attention_impl.cu` | Dispatch to `DynamicSparseAttentionPrefillKernel` for BF16 `selected_only` prefill (`ORT_DSA_PREFILL_KERNEL`) | | `onnxruntime/contrib_ops/cuda/bert/gated_delta_net.cc`, `gated_delta_net_impl.cu` / `.h` | Route BF16 prefill through the FP16 chunked engine via `LaunchCastBf16ToHalf` / `LaunchCastHalfToBf16` (`ORT_GDN_BF16_VIA_FP16`) | | `onnxruntime/contrib_ops/cuda/sparse/sparse_attention_indexer_impl.cu` | `QsaPoolBlockKeysKernel` + `QsaTiledBlockScoreKernel` two-step prefill scoring (`ORT_QSA_TILED_SCORING`) | | `onnxruntime/contrib_ops/cuda/bert/hyper_connection_pre_mix_impl.cu`, `hyper_connection_post_mix_impl.cu` | 8-wide vectorized `PreMixVecKernel` and `PostMixVecKernel` | | `onnxruntime/contrib_ops/cuda/moe/moe_quantization.cc`, `qmoe_kernels.cu` | `PickPrefillTactic` (`ORT_QMOE_PREFILL_TACTIC`) and `QMoEDequantizeNvfp4RowMajorKernel` | | `onnxruntime/core/providers/cuda/tensor/transpose.cc` | Route rank-2 `[m, n] -> [n, m]` transposes through batch-1 `Transpose3DImpl` | ## Testing Validated on NVIDIA H200 (`sm_90a`, CUDA 13.0): - `python -m pytest onnxruntime/test/python/transformers/test_qmoe_nvfp4_cuda.py`: **178 passed, 8 skipped, 0 failed**. - End-to-end Qwen3.8-Flash-Next NVFP4 (`v12b` engine with 512-token chunked `prefill_chunk.onnx` `--prefill fast`): - `engine_behaviours.py --prefill fast` and `engine_behaviours.py --prefill steps`: **27/27 PASS** (`PickPrefillTactic` also ensures run-to-run determinism at `S=512`). - **TTFT benchmark (`bench_ttft_engine.py --prefill fast`, median of 3 runs on H200)**: | Prompt Length | Before this PR (s) | With this PR (s) | Speedup | |---:|---:|---:|---:| | 2,048 | 1.619 s | **0.297 s** | **5.45x** | | 8,192 | 5.027 s | **0.744 s** | **6.76x** | | 32,768 | 22.699 s | **3.092 s** | **7.34x** | - `lintrunner` on all touched files: no issues. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
### Description Preserve separate Q and K normalization epsilons when fusing into GroupQueryAttention. Add optional `q_norm_epsilon` and `k_norm_epsilon` attributes, each falling back to the existing `qk_norm_epsilon`, and carry them through WebGPU and CUDA normalization paths. Equal-epsilon fusion retains the shared attribute; mismatched epsilons now fuse with both original values preserved. Update the generated attribute documentation and regression tests. ### Motivation and Context The fusion previously accepted Q/K epsilon differences up to 1e-9 and then applied Q's epsilon to K. Preserving both values fixes the numerical error while allowing fusion for all otherwise-supported positive finite epsilon pairs. Validation on Windows with fresh builds from this branch: | Build | Fusion tests | QK-normalization operator tests | | --- | --- | --- | | WebGPU | 21 passed, 4 CUDA-only skips | 5 passed, 6 CUDA-only skips | | CUDA 13.1 / cuDNN 9.19 | 21 passed, 4 WebGPU-only skips | 7 passed, 4 WebGPU-only skips | All 36 distinct focused tests passed across the two builds. New GPU fusion comparisons disable CPU fallback and check attention and cache outputs for decode and prefill. Tests cover independent overrides, the legacy fallback, invalid values, and stale attributes. The issue's attached model fuses with both epsilons preserved and matches all three unfused WebGPU outputs exactly (maximum absolute differences: 0, 0, 0). CUDA validation targeted SM120 with FlashAttention and memory-efficient attention disabled; those paths were not numerically validated. Changed-line clang-format 20.1.8, `git diff --check`, and the GQA attribute documentation check passed. No performance claim is made. Fixes microsoft#32930.
…ite-default (microsoft#33521) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.2 to 6.4.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>v6.4.5</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.4.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.4.4</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.4.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.4.3</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.4.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/v6.4.5/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p> <blockquote> <h2><!-- raw HTML omitted -->6.4.5 (2026-10-21)<!-- raw HTML omitted --></h2> <ul> <li>fix: check <code>server.fs</code> after stripping query as well (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22160">#22160</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23855">#23855</a>) (<a href="https://github.com/vitejs/vite/commit/91e40d7bf9777057bbd31c3eb036a54c9465697e">91e40d7</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/22160">#22160</a> <a href="https://redirect.github.com/vitejs/vite/issues/23855">#23855</a></li> </ul> <h2><!-- raw HTML omitted -->6.4.4 (2026-10-06)<!-- raw HTML omitted --></h2> <ul> <li>fix(deps): update launch-editor to v2.14.2 (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23654">#23654</a>) (<a href="https://github.com/vitejs/vite/commit/8afec69d6360857ebe35516781ef96e93df3f54e">8afec69</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/23654">#23654</a></li> <li>fix(html): filename passed to transformIndexHtml should not include queries (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23653">#23653</a>) (<a href="https://github.com/vitejs/vite/commit/19902cfcfa3e02114bf8d6692fe638ace36b5ac9">19902cf</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/23653">#23653</a></li> <li>fix(server): check resolved ids for transform access (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20410">#20410</a>) (<a href="https://github.com/vitejs/vite/commit/eec64641970af6f69c026c70bf547601218c9c12">eec6464</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/20410">#20410</a></li> <li>fix(server): store ids to <code>safeModulePaths</code> rather than URLs (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23656">#23656</a>) (<a href="https://github.com/vitejs/vite/commit/e570d8d016096b5f8f6f09808376ca6cf73f27d0">e570d8d</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/23656">#23656</a></li> </ul> <h2><!-- raw HTML omitted -->6.4.3 (2026-06-01)<!-- raw HTML omitted --></h2> <ul> <li>fix: backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22572">#22572</a>, reject windows alternate paths (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22576">#22576</a>) (<a href="https://github.com/vitejs/vite/commit/96b0c10162e9c55485d922db2cfc6b8227cbc176">96b0c10</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/22572">#22572</a> <a href="https://redirect.github.com/vitejs/vite/issues/22576">#22576</a></li> <li>fix(deps): backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22571">#22571</a>, reject UNC paths for launch-editor-middleware (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22575">#22575</a>) (<a href="https://github.com/vitejs/vite/commit/8fed5cf540c0d475266787f52072f258478cd42f">8fed5cf</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/22571">#22571</a> <a href="https://redirect.github.com/vitejs/vite/issues/22575">#22575</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vitejs/vite/commit/83ab40b53969349d5c4ed259313fff367bb86827"><code>83ab40b</code></a> release: v6.4.5</li> <li><a href="https://github.com/vitejs/vite/commit/91e40d7bf9777057bbd31c3eb036a54c9465697e"><code>91e40d7</code></a> fix: check <code>server.fs</code> after stripping query as well (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22160">#22160</a>) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23855">#23855</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/5f0d9a4aaa31124695e7cf6ffe349e9d0a4b705e"><code>5f0d9a4</code></a> release: v6.4.4</li> <li><a href="https://github.com/vitejs/vite/commit/eec64641970af6f69c026c70bf547601218c9c12"><code>eec6464</code></a> fix(server): check resolved ids for transform access (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/20410">#20410</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/e570d8d016096b5f8f6f09808376ca6cf73f27d0"><code>e570d8d</code></a> fix(server): store ids to <code>safeModulePaths</code> rather than URLs (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23656">#23656</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/8afec69d6360857ebe35516781ef96e93df3f54e"><code>8afec69</code></a> fix(deps): update launch-editor to v2.14.2 (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23654">#23654</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/19902cfcfa3e02114bf8d6692fe638ace36b5ac9"><code>19902cf</code></a> fix(html): filename passed to transformIndexHtml should not include queries (...</li> <li><a href="https://github.com/vitejs/vite/commit/6c2c881f15495738ff03bc1d67cc052c07e0cac4"><code>6c2c881</code></a> release: v6.4.3</li> <li><a href="https://github.com/vitejs/vite/commit/96b0c10162e9c55485d922db2cfc6b8227cbc176"><code>96b0c10</code></a> fix: backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22572">#22572</a>, reject windows alternate paths (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22576">#22576</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/8fed5cf540c0d475266787f52072f258478cd42f"><code>8fed5cf</code></a> fix(deps): backport <a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22571">#22571</a>, reject UNC paths for launch-editor-middleware (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/2">#2</a>...</li> <li>See full diff in <a href="https://github.com/vitejs/vite/commits/v6.4.5/packages/vite">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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/onnxruntime/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.6 to 7.3.7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>v7.3.7</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v7.3.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/v7.3.7/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p> <blockquote> <h2><!-- raw HTML omitted --><a href="https://github.com/vitejs/vite/compare/v7.3.6...v7.3.7">7.3.7</a> (2026-10-06)<!-- raw HTML omitted --></h2> <h3>Bug Fixes</h3> <ul> <li><strong>deps:</strong> update launch-editor to v2.14.2 (<a href="https://redirect.github.com/vitejs/vite/issues/23654">#23654</a>) (<a href="https://github.com/vitejs/vite/commit/a0a33391b1b02b61b5102dd2216934d83b678a73">a0a3339</a>)</li> <li><strong>html:</strong> filename passed to transformIndexHtml should not include queries (<a href="https://redirect.github.com/vitejs/vite/issues/23653">#23653</a>) (<a href="https://github.com/vitejs/vite/commit/8d479f9dd8cbcb7631aac4a421e09ccd069d4786">8d479f9</a>)</li> <li><strong>server:</strong> store ids to <code>safeModulePaths</code> rather than URLs (<a href="https://redirect.github.com/vitejs/vite/issues/23656">#23656</a>) (<a href="https://github.com/vitejs/vite/commit/f0d76c7da13d5e794807b82f0b86c1931a8438e3">f0d76c7</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vitejs/vite/commit/284f6b58d6b511cebdd52ab7731975f385bf3c6b"><code>284f6b5</code></a> release: v7.3.7</li> <li><a href="https://github.com/vitejs/vite/commit/f0d76c7da13d5e794807b82f0b86c1931a8438e3"><code>f0d76c7</code></a> fix(server): store ids to <code>safeModulePaths</code> rather than URLs (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23656">#23656</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/a0a33391b1b02b61b5102dd2216934d83b678a73"><code>a0a3339</code></a> fix(deps): update launch-editor to v2.14.2 (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23654">#23654</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/8d479f9dd8cbcb7631aac4a421e09ccd069d4786"><code>8d479f9</code></a> fix(html): filename passed to transformIndexHtml should not include queries (...</li> <li>See full diff in <a href="https://github.com/vitejs/vite/commits/v7.3.7/packages/vite">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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/onnxruntime/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [electron](https://github.com/electron/electron) from 41.10.6 to 42.11.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/electron/electron/releases">electron's releases</a>.</em></p> <blockquote> <h2>electron v42.11.3</h2> <h1>Release Notes for v42.11.3</h1> <h2>Fixes</h2> <ul> <li>File System Access permission requests and the <code>file-system-access-restricted</code> event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. <a href="https://redirect.github.com/electron/electron/pull/53695">#53695</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53694">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53691">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53690">45</a>)<!-- raw HTML omitted --></li> <li>Fixed <code>session.setPermissionCheckHandler</code> receiving the top-level origin and a null <code>webContents</code> for <code>hid</code> and <code>usb</code> checks made from a subframe. <a href="https://redirect.github.com/electron/electron/pull/53736">#53736</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53689">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53688">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53679">45</a>)<!-- raw HTML omitted --></li> <li>Fixed <code>webContents.on()</code>, <code>removeListener()</code> and <code>removeAllListeners()</code> throwing "Object has been destroyed" for <code>console-message</code> listeners after the WebContents was destroyed. <a href="https://redirect.github.com/electron/electron/pull/53497">#53497</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53496">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53494">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53495">45</a>)<!-- raw HTML omitted --></li> <li>Fixed a crash on Linux when <code>process.env</code> was written while another thread was reading the environment, and a memory leak when a worker thread exits. <a href="https://redirect.github.com/electron/electron/pull/53511">#53511</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53510">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53509">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53508">45</a>)<!-- raw HTML omitted --></li> <li>Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. <a href="https://redirect.github.com/electron/electron/pull/53585">#53585</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53584">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53583">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53586">45</a>)<!-- raw HTML omitted --></li> <li>Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process <code>window.open()</code> child whose <code>contextIsolation</code> differed from its opener's. <a href="https://redirect.github.com/electron/electron/pull/53541">#53541</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53540">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53539">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53538">45</a>)<!-- raw HTML omitted --></li> <li>Fixed crashes in <code>setDisplayMediaRequestHandler</code> when the granted frame had been destroyed or another tab was granted by id. <a href="https://redirect.github.com/electron/electron/pull/53674">#53674</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53671">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53672">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53673">45</a>)<!-- raw HTML omitted --></li> <li>Internal <code><webview></code>, <code>window.close()</code> and <code>executeJavaScript</code> reply IPCs are validated against the sending frame. <a href="https://redirect.github.com/electron/electron/pull/53727">#53727</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53726">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53723">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53724">45</a>)<!-- raw HTML omitted --></li> <li><code><webview></code> without <code>allowpopups</code> also blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. <a href="https://redirect.github.com/electron/electron/pull/53719">#53719</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53718">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53721">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53717">45</a>)<!-- raw HTML omitted --></li> <li><code>getUserMedia</code> with <code>chromeMediaSource: 'desktop'</code> no longer accepts WebContents source ids; use <code>chromeMediaSource: 'tab'</code> with <code>webContents.getMediaSourceId()</code> or <code>setDisplayMediaRequestHandler</code> to capture a WebContents. <a href="https://redirect.github.com/electron/electron/pull/53710">#53710</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53707">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53709">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53708">45</a>)<!-- raw HTML omitted --></li> <li><code>nodeIntegrationInWorker</code> now applies only to workers created by frames that themselves have Node integration; enable <code>nodeIntegrationInSubFrames</code> to keep Node in workers created by subframes. <a href="https://redirect.github.com/electron/electron/pull/53713">#53713</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53712">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53711">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53706">45</a>)<!-- raw HTML omitted --></li> <li><code>openExternal</code> permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. <a href="https://redirect.github.com/electron/electron/pull/53697">#53697</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53698">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53699">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53696">45</a>)<!-- raw HTML omitted --></li> <li><code>pointerLock</code> and <code>keyboardLock</code> permission requests now report the requesting frame, and <code>execCommand('paste')</code> requires user activation in the frame that calls it. <a href="https://redirect.github.com/electron/electron/pull/53702">#53702</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53701">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53693">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53692">45</a>)<!-- raw HTML omitted --></li> </ul> <h2>electron v42.11.2</h2> <h1>Release Notes for v42.11.2</h1> <h2>Fixes</h2> <ul> <li>Fixed application crash after a large number of IPC messages from renderers. <a href="https://redirect.github.com/electron/electron/pull/53419">#53419</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53420">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53417">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53418">45</a>)<!-- raw HTML omitted --></li> <li>Fixed native addons deriving from <code>node::ObjectWrap</code> aborting during garbage collection on Node.js 24.19.0 and later. <a href="https://redirect.github.com/electron/electron/pull/53394">#53394</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53393">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53392">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53391">45</a>)<!-- raw HTML omitted --></li> </ul> <h2>Other Changes</h2> <ul> <li>Backported fixes from upstream ANGLE, Chromium, Skia and V8. <a href="https://redirect.github.com/electron/electron/pull/53480">#53480</a></li> <li>Backported fixes from upstream Chromium, Dawn, Skia and V8. <a href="https://redirect.github.com/electron/electron/pull/53397">#53397</a></li> <li>Backported fixes from upstream Chromium, V8, ANGLE, Dawn, Skia, WebRTC and DevTools. <a href="https://redirect.github.com/electron/electron/pull/53367">#53367</a></li> </ul> <h2>electron v42.11.1</h2> <h1>Release Notes for v42.11.1</h1> <h2>Fixes</h2> <ul> <li>Fixed <code>chrome.tabs.query()</code> returning tab <code>url</code> and <code>title</code> to extensions without the <code>tabs</code> permission or host access, aligning with <code>tabs.get</code>. <a href="https://redirect.github.com/electron/electron/pull/53355">#53355</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53356">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53354">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53353">45</a>)<!-- raw HTML omitted --></li> <li>Fixed a renderer crash when an array with a throwing property getter is passed across <code>contextBridge</code>, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. <a href="https://redirect.github.com/electron/electron/pull/53329">#53329</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53330">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53331">44</a>)<!-- raw HTML omitted --></li> </ul> <h2>Other Changes</h2> <ul> <li>Security: backported fixes for CVE-2026-15764, CVE-2026-15765, CVE-2026-15766, CVE-2026-15767, CVE-2026-15768, CVE-2026-15769, CVE-2026-15770, CVE-2026-15771, CVE-2026-15772, CVE-2026-15773, CVE-2026-15774, CVE-2026-15775, CVE-2026-15776, CVE-2026-15777, CVE-2026-15778. <a href="https://redirect.github.com/electron/electron/pull/53344">#53344</a></li> </ul> <h2>electron v42.11.0</h2> <h1>Release Notes for v42.11.0</h1> <h2>Fixes</h2> <ul> <li>Fixed <code>fs.constants.O_DIRECTORY</code>, <code>O_NOFOLLOW</code> and <code>O_DIRECT</code> holding x86 values on Linux arm64 and armv7l, which made opening a directory fail with <code>EINVAL</code>, and made <code>require('trace_events')</code> behave the same on cross-compiled builds as on native ones. <a href="https://redirect.github.com/electron/electron/pull/53318">#53318</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53319">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53320">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53321">45</a>)<!-- raw HTML omitted --></li> <li>Fixed a crash when calling <code>node:wasi</code> functions in optimized code. <a href="https://redirect.github.com/electron/electron/pull/53267">#53267</a> <!-- raw HTML omitted -->(Also in <a href="https://redirect.github.com/electron/electron/pull/53265">43</a>, <a href="https://redirect.github.com/electron/electron/pull/53268">44</a>, <a href="https://redirect.github.com/electron/electron/pull/53266">45</a>)<!-- raw HTML omitted --></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/electron/electron/commit/22de0a3a06cfd3174fc6c59c3810ab5e1c91bf1a"><code>22de0a3</code></a> fix: report the requesting frame for hid and usb permission checks (42-x-y) (...</li> <li><a href="https://github.com/electron/electron/commit/16c4536db4500a94dc05faa7775e35ea60b840bb"><code>16c4536</code></a> test: run the Squirrel.Mac updater specs off a signed template, split, and se...</li> <li><a href="https://github.com/electron/electron/commit/65d777e71ffa88cbea1cba6abcf2642be866de4c"><code>65d777e</code></a> fix: check the sending frame for internal guest, window and reply IPCs (42-x-...</li> <li><a href="https://github.com/electron/electron/commit/a86ae4205ba2ba7ae60a6caa9d5d3a44321f2f9b"><code>a86ae42</code></a> fix: route modifier-click and OpenURLFromTab popups through the window-open p...</li> <li><a href="https://github.com/electron/electron/commit/f8600c944b0915978ee6305167ffe435d8831a5c"><code>f8600c9</code></a> fix: require a registered source id for webContents capture via getUserMedia ...</li> <li><a href="https://github.com/electron/electron/commit/900eabb6c55eccb7732dd6570f38a3babf9982da"><code>900eabb</code></a> fix: gate preload and worker Node integration on the creating frame (42-x-y) ...</li> <li><a href="https://github.com/electron/electron/commit/3275df6c6e86655f0cf1a42ffb151669b3459ca0"><code>3275df6</code></a> fix: scope File System Access grants to the requesting document (42-x-y) (<a href="https://redirect.github.com/electron/electron/issues/53">#53</a>...</li> <li><a href="https://github.com/electron/electron/commit/004b4ab85fe1bcd6166fe770dbfba3263a959d02"><code>004b4ab</code></a> fix: attribute pointer lock, keyboard lock and paste checks to the requesting...</li> <li><a href="https://github.com/electron/electron/commit/e0a20d5277b567aea8603f8e9852a4341407a586"><code>e0a20d5</code></a> fix: attribute openExternal permission requests to the navigation's initiator...</li> <li><a href="https://github.com/electron/electron/commit/951b50f36c2d11addadb0dc7e86a4d1f59c265ed"><code>951b50f</code></a> fix: resolve the capturing webContents in setDisplayMediaRequestHandler (<a href="https://redirect.github.com/electron/electron/issues/53674">#53674</a>)</li> <li>Additional commits viewable in <a href="https://github.com/electron/electron/compare/v41.10.6...v42.11.3">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 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) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/microsoft/onnxruntime/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
### Description <!-- Describe your changes. --> Release and reset the bundled Dawn platform after WebGPU contexts and the cached instance are released. The original code was leaking the `DawnPlatform*`. ### 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. --> Fix Application Verifier-reported leak. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9bab1fc9-3c49-4110-91c4-5097c3373dd5 Copilot-Session: 5f4f7562-11aa-4473-afeb-c8e1206de604
### Description <!-- Describe your changes. --> Add a `codeql` group to the existing `github-actions` configuration in `.github/dependabot.yml`, matching only `github/codeql-action/*`. This groups init, autobuild, and analyze version updates into a single Dependabot PR. All existing schedules, ecosystems, directories, pull request limits, cooldowns, and unrelated dependency settings are unchanged. Existing Dependabot PRs are not modified. ### 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. --> Separate CodeQL action updates can introduce version mismatches between workflow steps, as seen with microsoft#33527 and microsoft#33528. Updating the actions together keeps their versions aligned. Validation: parsed the YAML and asserted that init/autobuild/analyze match the group, unrelated actions do not match, and removing the new group produces the original configuration exactly. `git diff --check` also passed. Copilot-Session: 2e514314-d204-4b82-8b1f-f2a9f5f77440
…33532) ## Description Fixes microsoft#33431. `tpause_spin_delay_cycles` lived next to `has_tpause` but was only referenced inside the `#if (defined(_WIN32) && !defined(__clang__)) || defined(__WAITPKG__)` branch that calls `_tpause`. Builds that take the `_mm_pause()` fallback treated the constant as unused and failed under `-Werror=unused-variable`. Move the constant into the branch that uses it so every configuration that defines it also references it. ## Motivation and Context Reported in microsoft#33431: FreeBSD/ports-style builds (and other non-WAITPKG x86_64 toolchains) fail compiling `spin_pause.cc` because of the unused `static constexpr`. ## How was this change tested? Compile-only change; no runtime behavior change when `_tpause` is available. Verified the constant is now lexically scoped to the same `#if` that consumes it. ## Checklist - [x] I have followed the [PR Guidelines](https://github.com/microsoft/onnxruntime/blob/main/docs/PR_Guidelines.md) --------- Co-authored-by: ninglinLiu <ninglinLiu@users.noreply.github.com>
ai-fw-intg
requested review from
Jaswanth51,
ankitm3k,
jatinwadhwa921 and
vthaniel
October 22, 2026 20:39
hdharpure9922
self-requested a review
October 23, 2026 04:38
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
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.
Automated daily backmerge from ORT main to ovep-develop. No conflicts detected. Do NOT squash or rebase - use merge commit only.