webgpu-bench-cli 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +11 -10
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -62,16 +62,17 @@ shared metric defs, and `generateMatVecData` for writing your own `prepare()`.
62
62
  Each benchmark isolates one resource — memory read, memory write, or ALU — keeping the others near zero,
63
63
  so numbers compare directly against a device's published bandwidth/FLOPS specs.
64
64
 
65
- | Benchmark | What it tests |
66
- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
67
- | `read-linear` / `write-linear` | Coalesced grid-stride streaming of a 4096×4096 f32 buffer, isolating read or write throughput |
68
- | `read-gather-16kb` / `-4mb` / `-64mb` | Same byte count, but each load hits a pseudo-random vec4 inside a 16 KB (L1), 4 MB (L2), or 64 MB (DRAM, the whole buffer) window |
69
- | `write-scatter-16kb` / `-4mb` / `-64mb` | Same byte count, but each store lands on a pseudo-random vec4 inside the same three windows |
70
- | `f32-fma-scalar` / `-vec4` / `-mat4` / `-matvec` | Unrolled independent FMA chains in fp32, at scalar/vec4/mat4/register-resident-matvec granularity |
71
- | `f16-fma-*` | The same four shapes in `f16` (skipped without `shader-f16`) |
72
- | `i32-mad-*` | The same four shapes as 32-bit integer multiply-add (WGSL has no `i8` arithmetic) |
73
- | `i8-dp4a` / `i8-dp4a-matvec` / `u8-dp4a` | Packed int8 dot products via `dot4I8Packed` / `dot4U8Packed` (skipped without the feature) |
74
- | `u32-shift` | Variable-amount u32 shifts (left and right) cycling through all 32 amounts; the average shift throughput |
65
+ | Benchmark | What it tests |
66
+ | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
67
+ | `read-linear` / `write-linear` | Coalesced grid-stride streaming of a 4096×4096 f32 buffer, isolating read or write throughput |
68
+ | `read-gather-16kb` / `-4mb` / `-64mb` | Same byte count, but each load hits a pseudo-random vec4 inside a 16 KB (L1), 4 MB (L2), or 64 MB (DRAM, the whole buffer) window |
69
+ | `write-scatter-16kb` / `-4mb` / `-64mb` | Same byte count, but each store lands on a pseudo-random vec4 inside the same three windows |
70
+ | `f32-fma-scalar` / `-vec4` / `-mat4` / `-matvec` | Unrolled independent FMA chains in fp32, at scalar/vec4/mat4/register-resident-matvec granularity |
71
+ | `f16-fma-*` | The same four shapes in `f16` (skipped without `shader-f16`) |
72
+ | `i32-mad-*` | The same four shapes as 32-bit integer multiply-add (WGSL has no `i8` arithmetic) |
73
+ | `i8-dp4a` / `i8-dp4a-matvec` / `u8-dp4a` | Packed int8 dot products via `dot4I8Packed` / `dot4U8Packed` (skipped without the feature) |
74
+ | `u32-shift` | Variable-amount u32 shifts (left and right) cycling through all 32 amounts; the average shift throughput |
75
+ | `branch-none` / `-uniform` / `-coherent` / `-divergent` | The fp32 scalar FMA chains with no branch, or wrapped in an if/else with equal work per side whose condition agrees across all lanes, per workgroup, or flips per lane (SIMT divergence cost) |
75
76
 
76
77
  Loop trip counts are runtime values so the shader compiler can't fold them away, and are calibrated per
77
78
  GPU (see below) so each dispatch stays short.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webgpu-bench-cli",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Run the webgpu-bench GPU benchmark suite from the command line, no browser needed.",
5
5
  "keywords": [
6
6
  "bandwidth",
@@ -36,7 +36,7 @@
36
36
  "@sentry/node": "^10.74.0",
37
37
  "chalk": "^5.6.2",
38
38
  "webgpu": "^0.6.0",
39
- "webgpu-bench": "^0.8.0",
39
+ "webgpu-bench": "^0.8.1",
40
40
  "yargs": "^18.0.0",
41
41
  "yargs-file-commands": "^1.2.2"
42
42
  },