Skip to content

Add external Dawn API package CI coverage for the WebGPU plugin - #33077

Merged
Mustapha Jaber (mustjab) merged 1 commit into
mainfrom
fix/webgpu-plugin-external-dawn
Oct 4, 2026
Merged

Mustapha Jaber (mustjab) merged 1 commit into
mainfrom
fix/webgpu-plugin-external-dawn

Conversation

@mustjab

Copy link
Copy Markdown
Contributor

Summary

External Dawn API package CI currently exercises the built-in WebGPU EP, but not the shared-plugin registration and provider-option path.

  • Extend the native host test to register the WebGPU plugin, select its device explicitly, and pass the host's dawnProcTable through AppendExecutionProvider_V2.
  • Reuse the existing Windows package-mode CI runner and matching host/package artifacts to build both the core DLL and WebGPU plugin without configuring native Dawn.
  • Validate GPU Abs inference with CPU fallback disabled, reject a missing proc table, and ensure unrelated plugin-load failures cannot falsely pass the negative test.
  • Retain built-in host coverage and configure-time rejection of invalid API packages.

Fixes #33043.

Validation

Windows x64 Release:

  • Rebuilt the updated external host and package-backed core DLL; built-in inference and missing-proc-table rejection passed.
  • Built fresh package-backed core and plugin DLLs and verified the copied DLL hashes before runtime tests.
  • Plugin inference validated all 60 output values and explicitly selected the registered WebGPU EP.
  • Missing-proc-table rejection and invalid-plugin-path rejection passed.
  • Workflow parsing, built-in-before-plugin step ordering, scoped lint, whitespace checks, and editor diagnostics passed.

Other native platforms have not been validated locally.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

No actionable issues were found in the plugin integration, negative-test handling, or CI ordering.

Review effort: Balanced
Findings: None

What changed in this PR

Adds Windows CI coverage for external Dawn API packages with the WebGPU plugin, addressing #33043 while retaining built-in coverage.

Changes:

  • Registers and explicitly selects the plugin, forwarding the host’s dawnProcTable.
  • Builds package-backed core and plugin DLLs and runs inference and rejection tests.
  • Prevents unrelated plugin-load failures from passing the missing-proc-table test.
File Description
onnxruntime/​test/​webgpu/​external_dawn/​main.cc Adds plugin selection and stricter negative-test handling.
.github/​workflows/​windows_webgpu.yml Adds package-backed plugin builds and runtime tests.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mustjab
Mustapha Jaber (mustjab) marked this pull request as ready for review October 3, 2026 01:17
@mustjab
Mustapha Jaber (mustjab) enabled auto-merge (squash) October 3, 2026 05:47
@mustjab
Mustapha Jaber (mustjab) merged commit 690e731 into main Oct 4, 2026
@mustjab
Mustapha Jaber (mustjab) deleted the fix/webgpu-plugin-external-dawn branch October 4, 2026 00:13
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.

[Feature Request] CI coverage for WebGPU plugin EP with external Dawn API packages

3 participants

⌂ 换网址