Skip to content

[WebGPU EP] 0.3.0 cherry-picks round 1 - #32088

Merged
Edward Chen (edgchen1) merged 3 commits into
plugin-ep-webgpu/rel-0.3from
edgchen1/plugin-ep-webgpu/rel-0.3/cherry_picks_1
Aug 17, 2026
Merged

Edward Chen (edgchen1) merged 3 commits into
plugin-ep-webgpu/rel-0.3from
edgchen1/plugin-ep-webgpu/rel-0.3/cherry_picks_1

Conversation

@edgchen1

@edgchen1 Edward Chen (edgchen1) commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Description

This cherry-picks the following commits for the release:

Commit ID PR Number Commit Title
faf29fe #31714 [WebGPU] Add Gather int64 support and make kernel version numbers function params
4576ea1 #31971 [WebGPU] Add robustness provider option
4816399 #32090 Enable WebGPU CI for WebGPU plugin EP release branches

Motivation and Context

WebGPU plugin EP 0.3.0 release.

Bin Miao (miaobin) and others added 2 commits August 14, 2026 09:25
…ction params (#31714)

Gather is a pure data-movement op (elements are copied, never
interpreted in shader arithmetic), so int64 can be supported safely.
int64 (stored as vec2<u32>) is copied losslessly via the raw
storage-word path, preserving the full 64-bit value instead of the
truncating i32 value type used by arithmetic kernels. int64 is only
added to the "T" constraint when the enable_int64 provider option is
set.

This PR also refactor the int64-migrated kernels' factory functions to
take the version range as runtime function parameters instead of
template parameters (StartVersion/EndVersion). This removes the explicit
template instantiations (reducing binary size) and eliminates the
duplication of version ranges between the instantiations and the
registrations in webgpu_execution_provider.cc; the ranges now live only
at the registration site. (This is a follow up fix of #31049 )
### Description

- Adds the WebGPU enableRobustness provider option to control Dawn
robust buffer access for ORT-created devices.
- Exposes the boolean option through the shared JavaScript type surface
for the native Node.js WebGPU binding.
- Keeps robustness independent from validationMode and preserves
build-specific defaults: enabled in Debug, disabled in Release and
RelWithDebInfo.
- Handles the process-global WebGPU device lifecycle: the first created
device establishes the value; later conflicts and requests for external
devices are ignored with a warning.
- Does not forward the option through browser/WASM WebGPU, where
standard WebGPU APIs cannot configure Dawn toggle chains.
- Adds focused native coverage for explicit values, defaults, invalid
input, validation independence, conflicts, compile-only contexts, and
external devices.

### Motivation and Context

Dawn buffer robustness is a device-creation setting that is separate
from validation. ONNX Runtime previously enabled Dawn's
disable_robustness toggle unconditionally, so native users could not
request robust buffer access or configure the safety/performance
tradeoff independently.

This change exposes that choice for native WebGPU device creation while
making the shared-device behavior explicit. It keeps the
performance-oriented non-Debug default and enables the safer Debug
default.

### Testing

- build\Windows\Release\Release\onnxruntime_provider_test.exe
--gtest_filter=WebGpuContextTest.* (8 tests passed)
- npm run prebuild --prefix js/web
- npx prettier --check common/lib/inference-session.ts
web/lib/wasm/session-options.ts web/test/test-types.ts
@edgchen1 Edward Chen (edgchen1) changed the title Edgchen1/plugin ep webgpu/rel 0.3/cherry picks 1 [WebGPU EP] 0.3.0 cherry-picks round 1 Aug 14, 2026
adrastogi
adrastogi previously approved these changes Aug 14, 2026
### Description
<!-- Describe your changes. -->

Enable WebGPU CI for WebGPU plugin EP release branches
(`plugin-ep-webgpu/rel-*`).

### 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. -->

Additional test coverage for release branch changes.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@edgchen1
Edward Chen (edgchen1) merged commit fe9d1a6 into plugin-ep-webgpu/rel-0.3 Aug 17, 2026
32 checks passed
@edgchen1
Edward Chen (edgchen1) deleted the edgchen1/plugin-ep-webgpu/rel-0.3/cherry_picks_1 branch August 17, 2026 21:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ep:WebGPU ort-web webgpu provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants