--- license: bsd-3-clause library_name: executorch tags: - executorch - webgpu - webassembly - browser --- # ExecuTorch WebGPU Runtime (WebAssembly) The [ExecuTorch](https://github.com/pytorch/executorch) runtime compiled to WebAssembly with its **WebGPU** backend. It runs ExecuTorch `.pte` programs delegated to WebGPU inside a web browser, on the visitor's GPU. The WebAssembly code loads programs and schedules work; the model math runs on the GPU through WebGPU. It powers the ExecuTorch WebGPU Playground (launching soon on [executorch.ai](https://executorch.ai)), whose models are in the [ExecuTorch WebGPU collection](https://huggingface.co/collections/executorch-community/executorch-webgpu-6ad04f227dfe83b94306a8b1). ## Files | File | Size | SHA-256 | |---|---|---| | `executorch_wasm_lib.wasm` | 6.6 MB | `35a9087d0b6cd86c279e7111adfd54a58156bd993928b20f63348f1043652eb4` | | `executorch_wasm_lib.js` | 166 KB | `8a631b1537927f8f2ef184d9f1b343061f47df0a32ddb8f5190d74e80d40618e` | The two files are one build and must be used together. `executorch_wasm_lib.js` defines `createExecuTorch()`; after `await et.initWebGPU()`, a `.pte` loads with `et.Module.load(path)` and runs with an async `forward([tensors])`. The playground fetches the `.wasm` from this repository, checks its SHA-256, and passes it to the loader. ## Tokenizer library `vendor/transformers/transformers.min.js` is `@huggingface/transformers` 3.0.2, byte-identical to the npm release (Apache-2.0, `vendor/transformers/LICENSE`; bundled `@huggingface/jinja` and `onnxruntime-web` code under MIT, `vendor/transformers/THIRD_PARTY_NOTICES.txt`). The playground uses it only for tokenizers and chat templates; it checks the file's SHA-256 before importing it. ## Build Built from the public ExecuTorch sources (`extension/wasm` with `EXECUTORCH_BUILD_WASM_WEBGPU=ON`) with Emscripten 4.0.19. `BUILD_INFO.md` has the toolchain, sources and exact commands. ## License ExecuTorch is BSD-licensed (`LICENSE`). The build statically includes emdawnwebgpu (Dawn), the Emscripten runtime, musl, libc++, libc++abi, compiler-rt and FlatBuffers; their licenses are in `THIRD_PARTY_NOTICES.txt`.