Repository navigation
WebGPU static plugin EP #32395
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
WebGPU static plugin EP #32395
Changes from all commits
Commits
Show all changes
121 commits
Select commit
Hold shift + click to select a range
dff9cc4
Add WebGPU EP extraction plans
edgchen1 a795ec0
Clarify EP conformance runner architecture
edgchen1 e26dc64
Refine WebGPU extraction lifecycle plans
edgchen1 6b7d919
Clarify test ownership and align workstream doc structure
edgchen1 0b96cbf
Address plan review: critical path, work package structure, terminology
edgchen1 d20f696
Address remaining plan review findings
edgchen1 e8a42f5
Refine dependency scope and pipeline dispositions in provider isolati…
edgchen1 800ad88
Resolve internal contradictions found in PR review
edgchen1 2754674
Support registering statically linked plugin EPs, and build WebGPU EP…
edgchen1 32775c3
Add CI jobs for the WebGPU static plugin EP build
edgchen1 49855f6
Fix GCC maybe-uninitialized errors in the EP adapter attribute accessors
edgchen1 d47f00a
Update dynamic plugin EP test config parsing tests
edgchen1 1980e90
Record CI coverage in the static plugin EP registration design doc
edgchen1 994e00b
Suppress GCC maybe-uninitialized on the WebGPU EP adapter build
edgchen1 754e025
Add a work log for the static plugin EP branch
edgchen1 a362107
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 35e6f65
Record real-GPU validation results in the static plugin EP work log
edgchen1 a110948
Record GPU validation and the plugin-path test coverage gap in the de…
edgchen1 8d87c11
Avoid GCC 14 -Warray-bounds false positive in EmitGateActivationExpr
edgchen1 ef68884
Record the complete GCC 14 warning inventory and the local reproducti…
edgchen1 153df4e
Update the work log with the fix verification, push state, and dispat…
edgchen1 ff3580c
Record the Emscripten/ORT Web build validation for the static plugin EP
edgchen1 d83e028
Record the ORT Web migration prerequisites in the static plugin EP de…
edgchen1 7db781f
Reject a minimal build combined with the WebGPU static plugin EP
edgchen1 014b8de
Record ORT Web plugin-EP prototype results in design doc
edgchen1 018b24a
Add Emscripten device discovery reporting a GPU when navigator.gpu ex…
edgchen1 93b8f14
Don't use exceptions for control flow in EP API OpKernelInfo adapter
edgchen1 e856885
Record WebGPU static_plugin vs static_lib perf comparison in design doc
edgchen1 6abb02d
Select WebGPU as a plugin EP from ORT Web
edgchen1 b1ce378
Merge branch 'main' of https://github.com/microsoft/onnxruntime into …
edgchen1 6a3e4bd
Note upstream allow_software_adapter fallback in Emscripten device di…
edgchen1 b876d29
Defer zero-initialize submission in the WebGPU plugin EP shared alloc…
edgchen1 2831d7d
Update measured size and perf comparison with post-merge interleaved …
edgchen1 afd96be
Record why the shared allocator defect was missed in the pre-merge me…
edgchen1 a75b4c1
docs: add WebGPU static plugin EP design
edgchen1 fdf2f53
docs: tighten WebGPU EP extraction plan docs
edgchen1 0209424
docs: fix inaccurate claims in WebGPU EP extraction overview
edgchen1 18a2b83
minor updates
edgchen1 551433f
docs: address PR feedback on conformance results and CI relocation
edgchen1 ec4b772
Record four-side web benchmark: b876d290cd has no effect on the wasm …
edgchen1 1dd5a55
Revert "Defer zero-initialize submission in the WebGPU plugin EP shar…
edgchen1 de610ec
Record the disposition of b876d290cd: reverted and verified
edgchen1 ea79e2b
Remove the deferred-submission detour from the static plugin EP desig…
edgchen1 c41055b
Merge edgchen1/webgpu_ep_extraction_plan: authoritative WebGPU EP ext…
edgchen1 2861a5f
Record the sync convention for the higher-level plan docs
edgchen1 e75881f
Fix string-array attribute leak in the EP API OpKernelInfo adapter
edgchen1 7e9fcdc
Collapse the plugin EP build macros and rename the manual-init switch
edgchen1 c1bc945
Make OrtEnv::GetOrCreateInstance exception safe
edgchen1 ca1dde1
Select every matching device in the wasm OrtAppendExecutionProviderV2
edgchen1 31530b5
Record the PR review feedback round in the work log
edgchen1 53bf498
Pass EP devices explicitly to the wasm OrtAppendExecutionProviderV2
edgchen1 69d8fc3
Record end-to-end verification of the EP-device-array path
edgchen1 765c59a
Select a single EP device when appending the WebGPU plugin EP
edgchen1 c6ba17d
Record re-verification of the single-device EP selection
edgchen1 6fd4ff1
Rename api.h skip init macro to ORT_PLUGIN_EP_SKIP_API_MANUAL_INIT, u…
edgchen1 c2a6d47
docs: cover native runtime performance and conformance in success cri…
edgchen1 873f221
Merge remote-tracking branch 'origin/edgchen1/webgpu_ep_extraction_pl…
edgchen1 4aef27c
Add native plugin EP latency measurement setup and environment findings
edgchen1 2a69c35
Update native latency doc: f16 GPU restored, measurement unblocked
edgchen1 ebe31d5
Document build fairness controls for the native latency A/B
edgchen1 1cfea6f
Record native built-in vs plugin EP latency A/B results
edgchen1 89b5144
Log the native plugin latency A/B in the work log
edgchen1 a888054
Record CPU profile root-causing the native plugin EP per-node overhead
edgchen1 3a01ce0
Record that the adapter-overhead hypothesis was tested and did not hold
edgchen1 475f2cb
Update WASM size comparison with both shipped WebGPU artifacts
edgchen1 5a84e15
Restrict Environment::CreateAndRegisterStaticPluginEps to OrtEnv via …
edgchen1 c32806d
Correct the stale self-deadlock comment on CreateAndRegisterInternalEps
edgchen1 c708345
Address PR review comments on code comments
edgchen1 e2915c6
Select the WebGPU EP by OrtEpDevice without claiming it is a plugin EP
edgchen1 be8f755
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 21abbc6
Document OrtEpFactory::GetSupportedDevices constraints
edgchen1 30401ea
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 cadd1a5
docs: record remaining WebGPU consumers and simplify the disposition …
edgchen1 bbcbed8
Fold work-log performance follow-ups into the design doc
edgchen1 1d577c8
Drop the work log and native measurement notes from the PR
edgchen1 2ac50a1
Always pass the WebGPU plugin EP CMake flags explicitly
edgchen1 ad2413a
Add a build-only WASM static plugin EP CI leg
edgchen1 1aa7d11
Correct factual errors in the static plugin EP design docs
edgchen1 c642429
Split the static plugin EP design doc into design, validation and mig…
edgchen1 1bae783
Record per-package status in the plugin boundary workstream
edgchen1 d8f69c1
Narrow the plugin boundary workstream open questions to what is actua…
edgchen1 8ba6c3f
Close out the plugin boundary workstream open questions
edgchen1 0bd98b7
docs: consolidate static plugin EP design
edgchen1 5fd229e
docs: streamline static plugin EP design
edgchen1 9535283
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 4cc65eb
trim comment
edgchen1 f581951
fix cmake option comment
edgchen1 b99d116
update GetSupportedDevices comment
edgchen1 2f01282
clarify comment for KernelInfoGetAttribute_string
edgchen1 3fd1009
Clarify Emscripten WebGPU discovery in Node.js
edgchen1 c7e06cd
Address static plugin EP review feedback
edgchen1 16fa85f
Fix WASM device discovery test failure
edgchen1 427d2ea
Make plugin EP registration failure-safe
edgchen1 ca3b314
update comment
edgchen1 1e53cbc
update
edgchen1 55f5432
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 b4070c9
fix compile issue
edgchen1 d72042e
Fix plugin data transfer ownership test
edgchen1 f393cb8
fix build issue, update EpInfo::Create to set output ptr iff successful.
edgchen1 07d5b4b
Fix plugin EP allocator callback validation
edgchen1 ece1310
Trim GetSupportedDevices API remarks
edgchen1 fccebe9
Reuse status conversion helper in EP adapter
edgchen1 e1243ae
fix formatting, remove old comment
edgchen1 be525cc
Replace old use of routing_record with routing_snapshot_.
edgchen1 503e433
Replace old use of routing_record with routing_snapshot_.
edgchen1 9d5c576
Fix packed QMoE expert snapshot capture
edgchen1 ad7818d
Merge remote-tracking branch 'origin/edgchen1/fix_cuda_moe_quantizati…
edgchen1 166182c
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 5ecef0f
simplify ifdefs
edgchen1 2cb6718
Handle WebGPU initialization edge cases
edgchen1 f9b826f
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 e064456
remove old yaml template reference
edgchen1 665e978
increase Android minimal baseline build binary size threshold to 1601536
edgchen1 6b02a61
Ignore virtual devices in WebGPU allocator tests
edgchen1 3bd332d
Fix WebGPU test provider option ambiguity
edgchen1 7422330
Fix Linux WebGPU static plugin test build
edgchen1 25ca2af
Add WebGPU EP GetDawnPlatform() known memory leak to debug_alloc.cc e…
edgchen1 df7e3f8
Merge branch 'edgchen1/webgpu_static_plugin' of https://github.com/mi…
edgchen1 d9cf06a
revert binary size threshold update
edgchen1 bd59856
Merge remote-tracking branch 'origin/main' into edgchen1/webgpu_stati…
edgchen1 7e99529
Revert "revert binary size threshold update"
edgchen1 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.