Add architecture diagrams

This commit is contained in:
Maximilian Ammann 2021-12-17 12:24:24 +01:00
parent f99b9f1bc9
commit 73615783cd
5 changed files with 32 additions and 0 deletions

View File

@ -2,6 +2,7 @@
[Introduction](./introduction.md)
[Supported Platforms](./supported-platforms.md)
[Architecture](./architecture.md)
## Developer Log

19
docs/src/architecture.md Normal file
View File

@ -0,0 +1,19 @@
# Architecture
## GPU Architecture
![](./figures/gpu-stack.drawio.svg)
Notes:
* wgpu is able to create an interface through which we can reach any device with a GPU.
## OS Architecture
![](./figures/os-stack.drawio.svg)
Notes:
* The ability to use shared memory or the atomic instruction set of WASM comes by enabling compilation features.
* `threads` support here does not introduce threads like we know them from Linux. It introduces
* [support for atomics](https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md) like
specified in a working draft to WebAssembly. Threads are simulated using WebWorkers by the browser.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -8,6 +8,10 @@
## WebAssembly and WebWorkers
Specs:
* [Thread/Atomics Proposal for WASM](https://webassembly.github.io/threads/core/bikeshed/#atomic-memory-instructions%E2%91%A2)
Projects:
* [Experiment with shared memory](https://github.com/Ciantic/rust-shared-wasm-experiments) and [the idea behind it](https://github.com/rustwasm/wasm-bindgen/issues/2225)