A proposed WebAssembly System Interface API.
Phase 2
- Mendy Berger
- Sean Isom
Linux, Windows, MacOS, Android, Web.
- Introduction
- Goals [or Motivating Use Cases, or Scenarios]
- Non-goals
- API walk-through
- Detailed design discussion
- Considered alternatives
- Stakeholder Interest & Feedback
- References & acknowledgements
wasi:webgpu is a WASI proposal for GPU access in WebAssembly.
Bring the benefits of Wasm (portability, security, sandboxing) to GPU compute. Use cases include, but are not limited to:
- Server-side graphics streaming.
- Scientific computing and simulations.
- AI/ML inference and training.
- Image and video processing.
- Data visualization and rendering.
- Displaying to a screen / windowing API — out of scope here, but active work is happening in other projects that may eventually become their own wasi proposals (e.g., wasi-gfx).
The full API documentation can be found in imports.md.
wasi:webgpu is based on the official WebGPU spec. It deviate in some cases from the webgpu spec, namely, in cases where the spec makes assumptions about running in a web or JS environment. Wherever wasi:webgpu deviates from the spec, a clear explanation should be documented.
[Provide example code snippets and diagrams explaining how the API would be used to solve the given problem]
[etc.]
[This section should mostly refer to the .wit.md file that specifies the API. This section is for any discussion of the choices made in the API which don't make sense to document in the spec file itself.]
[Talk through the tradeoffs in coming to the specific design point you want to make.]
// Illustrated with example code.
[This may be an open question, in which case you should link to any active discussion threads.]
[etc.]
[This section is not required if you already covered considered alternatives in the design discussion above.]
[Describe an alternative which was considered, and why you decided against it.]
[etc.]
TODO before entering Phase 3.
[This should include a list of implementers who have expressed interest in implementing the proposal]
Many thanks for valuable feedback and advice from:
- [Person 1]
- [Person 2]
- [etc.]