You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refresh backend README with current progress (pytorch#20356)
Summary:
Updates `backends/webgpu/README.md` to reflect work landed since the
last refresh. Moves the Dawn/Tint runtime switch and the per-pass
dispatch-ordering / scratch-buffer support out of "In review" into the
landed milestones table, and adds three newly landed milestones: fused
scaled-dot-product attention (`sdpa_with_kv_cache`) with `update_cache`,
GPU timestamp-query profiling, and 4-bit weight-only quantized linear
(`linear_q4gsw`). Replaces the "In review" section with the Milestone 3
operators (`embedding_q4gsw`, `apply_rotary_emb`, `prepack`). Adds the
newly landed operators to the Operator Support table with their WGSL
shader files, and corrects the runtime-engine references from
wgpu-native to Dawn (Tint), now the sole native backend.
Docs-only; no code changes. Authored with Claude Code.
Differential Revision: D108928366
Copy file name to clipboardExpand all lines: backends/webgpu/README.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# WebGPU Backend
2
2
3
-
Run ExecuTorch models on the GPU via [WebGPU](https://www.w3.org/TR/webgpu/). The backend compiles delegated subgraphs into WGSL compute shaders executed natively through [wgpu-native](https://github.com/gfx-rs/wgpu-native) (Metal on macOS, Vulkan on Linux/Windows).
3
+
Run ExecuTorch models on the GPU via [WebGPU](https://www.w3.org/TR/webgpu/). The backend compiles delegated subgraphs into WGSL compute shaders executed natively through [Dawn](https://dawn.googlesource.com/dawn), whose Tint compiler is the reference WGSL implementation (Metal on macOS, Vulkan on Linux/Windows).
4
4
5
-
> **Status: Prototype.** The backend supports `add` and `rms_norm` today and is under active development. See [Progress](#progress) for shipped milestones.
5
+
> **Status: Prototype, under active development.** The backend runs the core of transformer inference today — `add`, `rms_norm`, fused scaled-dot-product attention with KV cache, and 4-bit weight-only quantized linear — plus quantized embedding, rotary embedding, and constant prepacking. See [Progress](#progress) for shipped milestones.
6
6
7
7
## Progress
8
8
@@ -15,13 +15,19 @@ Milestones landed on `main`:
15
15
| 2026-06 | Made sure every change is automatically tested — added WebGPU to ExecuTorch's standard backend test suite, running on Linux/x86 in CI |[#19964](https://github.com/pytorch/executorch/pull/19964)|
16
16
| 2026-06 | Removed a class of bugs and manual upkeep — the WGSL shaders are now generated automatically, with a build-time check that fails the build on shader/source drift |[#19981](https://github.com/pytorch/executorch/pull/19981)|
17
17
| 2026-06 | Got the test suite to actually run work on the GPU — added operator-allowlist delegation (unsupported operations fall back to the CPU) and a process-wide GPU device context, so models execute on the GPU during testing |[#20036](https://github.com/pytorch/executorch/pull/20036)|
18
+
| 2026-06 | Made testing match the WebGPU standard exactly — switched the native runtime and tests to Google's Dawn shader compiler (Tint, the source-of-truth WGSL implementation) running on SwiftShader for headless GPU execution |[#20079](https://github.com/pytorch/executorch/pull/20079)|
19
+
| 2026-06 | Strengthened correctness for models that run in several GPU passes — added dispatch-ordering and scratch-buffer (temporary GPU memory) support and tests |[#20080](https://github.com/pytorch/executorch/pull/20080)|
20
+
| 2026-06 | Added the attention core of transformer inference — fused scaled-dot-product attention (`sdpa_with_kv_cache`) with an `update_cache` operator for autoregressive decode |[#20086](https://github.com/pytorch/executorch/pull/20086), [#20087](https://github.com/pytorch/executorch/pull/20087)|
21
+
| 2026-06 | Added on-GPU kernel timing via WebGPU timestamp queries, for true GPU-side profiling |[#20201](https://github.com/pytorch/executorch/pull/20201)|
22
+
| 2026-06 | Added the dominant compute in quantized LLMs — 4-bit weight-only quantized linear (`linear_q4gsw`), a dequantize-and-matmul kernel |[#20226](https://github.com/pytorch/executorch/pull/20226), [#20227](https://github.com/pytorch/executorch/pull/20227)|
18
23
19
24
In review:
20
25
21
26
| Milestone | Pull Request |
22
27
|---|---|
23
-
| Makes testing match the WebGPU standard exactly — switches the tests to Google's Dawn shader compiler (Tint, the source-of-truth WGSL implementation) running on SwiftShader for headless GPU execution |[#20079](https://github.com/pytorch/executorch/pull/20079)|
24
-
| Strengthens correctness for models that run in several GPU passes — adds dispatch-ordering and scratch-buffer (temporary GPU memory) tests |[#20080](https://github.com/pytorch/executorch/pull/20080)|
0 commit comments