Enable Linux AArch64 WebGPU plugin EP packages - #32287
Merged
Edward Chen (edgchen1) merged 4 commits intoAug 28, 2026
Merged
Conversation
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>
Contributor
There was a problem hiding this comment.
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.
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>
Hariharan Seshadri (hariharans29)
approved these changes
Aug 28, 2026
Edward Chen (edgchen1)
deleted the
edgchen1/webgpu_linux_aarch64_package
branch
August 28, 2026 16:08
This was referenced Sep 10, 2026
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.
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_ADAPTERto specify creation of anOrtEpDevicefor 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.