WebGPU memory bandwidth benchmark

A simple memory bandwidth benchmark that executes the following statement in a 1D compute shader:
  a[i] = b[i] + 1
where i is the global invocation index.
The data is cycled through three different storage buffers, over many iterations.
Loads and stores for data types that are not supported by the target device are emulated using atomics.

View benchmark source on GitHub.








  
Data type   Pattern     Result
Int32 coalesced
Int16 coalesced
Int8 coalesced

Int32 random
Int16 random
Int8 random