Skip to content

Enable Linux AArch64 WebGPU plugin EP packages - #32287

Merged
Edward Chen (edgchen1) merged 4 commits into
mainfrom
edgchen1/webgpu_linux_aarch64_package
Aug 28, 2026
Merged

Enable Linux AArch64 WebGPU plugin EP packages#32287
Edward Chen (edgchen1) merged 4 commits into
mainfrom
edgchen1/webgpu_linux_aarch64_package

Conversation

@edgchen1

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

Copy link
Copy Markdown
Contributor

Description

Add native AArch64 build and SwiftShader test lanes, package the plugin EP for Python, NuGet, and Foundry Local, and share the Linux WebGPU Docker context across architectures.

Add environment variable ORT_WEBGPU_EP_ALLOW_SOFTWARE_ADAPTER to specify creation of an OrtEpDevice for the WebGPU EP and the CPU device which allows the WebGPU EP to be selected via EP device if no GPU is available. This allows the packaging test build to run with the Vulkan SwiftShader software implementation on a machine with no GPU.

Motivation and Context

Add WebGPU plugin EP Linux AArch64 package variants.

Add native AArch64 build and SwiftShader test lanes, package the plugin for Python, NuGet, and Foundry Local, and share the Linux WebGPU Docker context across architectures.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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.

Pull request overview

Enables Linux AArch64 WebGPU plugin EP builds, tests, and package distribution. No actionable issues identified.

Changes:

  • Parameterizes Linux WebGPU build/test stages for x64 and AArch64.
  • Adds AArch64 Python, NuGet, and Foundry Local packaging.
  • Runs WebGPU inference tests against SwiftShader on both architectures.

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
install_centos.sh Adds shared container dependencies.
Dockerfile Makes the shared WebGPU image architecture-configurable.
plugin-webgpu-packaging-stage.yml Adds AArch64 builds and Foundry artifacts.
plugin-webgpu-nuget-packaging-stage.yml Includes AArch64 NuGet artifacts.
plugin-linux-webgpu-test-stage.yml Parameterizes Linux SwiftShader testing.
plugin-linux-webgpu-stage.yml Parameterizes Linux builds and wheels.
plugin-webgpu-test-pipeline.yml Adds the AArch64 test lane.
plugin-webgpu-pipeline.yml Enables AArch64 packaging by default.
test_webgpu_plugin_ep.py Requires device discovery in CI when configured.
Python README.md Documents Linux AArch64 support.
pack_nuget.py Maps AArch64 artifacts to linux-arm64.
C# README.md Documents the new NuGet RID.
WebGPU .csproj Packs Linux ARM64 native binaries.

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

Edward Chen (edgchen1) and others added 3 commits August 27, 2026 08:02
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Allow the WebGPU plugin EP to advertise against the CPU hardware device when explicitly enabled, so SwiftShader-backed package tests can run on CPU-only Linux agents.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

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.

Pull request overview

Copilot reviewed 17 out of 18 changed files in this pull request and generated no new comments.

@edgchen1 Edward Chen (edgchen1) added the ep:WebGPU ort-web webgpu provider label Aug 28, 2026
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.

3 participants