psiddh commited on
Commit
ebf0ed9
·
verified ·
1 Parent(s): 48a2743

Build notes: both upstream changes are merged

Browse files
Files changed (1) hide show
  1. BUILD_INFO.md +14 -13
BUILD_INFO.md CHANGED
@@ -2,27 +2,28 @@
2
 
3
  `executorch_wasm_lib.js` and `executorch_wasm_lib.wasm` are the ExecuTorch Wasm
4
  bindings (`extension/wasm`) with the WebGPU backend, linked into one web bundle.
 
 
 
5
  Every demo in the playground shares this one runtime (`src/runtime/executorch.js`).
6
  The JS file defines `createExecuTorch()`. After `await et.initWebGPU()`, a `.pte`
7
  loads with `et.Module.load(path)` and `loadMethod('forward')`, and runs with an
8
  async `forward([tensors])`.
9
 
10
- ## This is a pre-release build: rebuild it from ExecuTorch main
11
 
12
- It was built from the ExecuTorch source tree of 2026-10-15 (`version.txt` 1.6.0)
13
- with two changes that are under review upstream and not yet on main:
14
 
15
- 1. **WebGPU in the Wasm build.** The `EXECUTORCH_BUILD_WASM_WEBGPU` option, which
16
- links the WebGPU backend into `extension/wasm`, and the `initWebGPU()` binding.
17
- 2. **Resize propagation fix.** `WebGPUGraph::propagate_resize` now resizes every
18
- operand before its consumer in one pass. Without it, a multi-token LLM prefill
19
- (`tokens` of shape `[1, n]` with 1 < n < 512) fails with
20
- `add(resize): operands are not broadcast-compatible`.
21
 
22
- Once both have landed, rebuild from main with the commands below and replace both
23
- files. The emdawnwebgpu override (`EXECUTORCH_WEBGPU_EMDAWNWEBGPU_PORT`) was only
24
- needed because the build machine could not reach GitHub. Drop it, and Emscripten
25
- downloads the same emdawnwebgpu version itself.
26
 
27
  ## Toolchain
28
 
 
2
 
3
  `executorch_wasm_lib.js` and `executorch_wasm_lib.wasm` are the ExecuTorch Wasm
4
  bindings (`extension/wasm`) with the WebGPU backend, linked into one web bundle.
5
+ The `.js` loader ships in this folder. The `.wasm` is hosted on Hugging Face
6
+ (`executorch-community/ExecuTorch-WebGPU-Runtime`, pinned in `src/config/runtime.js`),
7
+ downloaded and checked against the sha256 below like a model file.
8
  Every demo in the playground shares this one runtime (`src/runtime/executorch.js`).
9
  The JS file defines `createExecuTorch()`. After `await et.initWebGPU()`, a `.pte`
10
  loads with `et.Module.load(path)` and `loadMethod('forward')`, and runs with an
11
  async `forward([tensors])`.
12
 
13
+ ## Source
14
 
15
+ Built from the ExecuTorch source tree of 2026-10-16 (`version.txt` 1.6.0) with the two
16
+ changes that make WebGPU run in the Wasm build, both merged upstream:
17
 
18
+ 1. pytorch/executorch#23938: the `EXECUTORCH_BUILD_WASM_WEBGPU` option, which links the
19
+ WebGPU backend into `extension/wasm`, and the `initWebGPU()` binding.
20
+ 2. pytorch/executorch#23914: `WebGPUGraph::propagate_resize` resizes every operand before
21
+ its consumer in one pass, so a multi-token LLM prefill works.
 
 
22
 
23
+ A build from ExecuTorch main that contains both, with the commands below, should give the
24
+ same files. The emdawnwebgpu override (`EXECUTORCH_WEBGPU_EMDAWNWEBGPU_PORT`) was only
25
+ needed because the build machine could not reach GitHub; without it, Emscripten downloads
26
+ the same emdawnwebgpu version itself.
27
 
28
  ## Toolchain
29