File size: 2,168 Bytes
b99c510
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48a2743
 
 
 
 
 
 
b99c510
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
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`.