Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebGPU Completion Latency Receipt

A small, reproducible receipt for one narrow observation:

On one Linux / Intel Iris Xe host, the same 65,536-item / 64-loop WebGPU compute workload completes on the GPU in roughly 0.5–1.0 ms, while host-side completion observation differs sharply between the tested browser configurations.

Chrome 152 reports a 3.85 ms median from queue.submit() to queue.onSubmittedWorkDone(). Firefox 155.0.1, with WebGPU manually enabled, reports 100 ms idle. Empty diagnostic submissions reduce the Firefox observation to 9 ms in fast mode and 21 ms at a 20 ms cadence.

The pattern is consistent with Mozilla Bug 1870699.

Chrome idle's GPU execution median (0.465 ms) and Firefox idle's (1.010 ms) also differ on the identical workload. That difference is observed but unexplained here and is not part of the host-completion claim.

See PROVENANCE.md for capture details, checksums, and evidence limits.

Run it

There are no package dependencies and no build step. Node is used only for the local static server and tests.

node scripts/serve.mjs

Open:

  • Receipt: http://127.0.0.1:8003/
  • Reproducer: http://127.0.0.1:8003/repro/

Run the test suite with:

npm test

Stored captures

Configuration GPU median Host-completion median
Chrome 152, idle 0.46 ms 3.85 ms
Firefox 155, idle 1.01 ms 100 ms
Firefox 155, fast diagnostic submissions 1.01 ms 9 ms
Firefox 155, 20 ms diagnostic cadence 0.92 ms 21 ms

All displayed statistics are recomputed from the raw runs arrays. The fixture files' precomputed median fields are not used for display.

Run it on your device

Open /repro/ and press Run capture. Nothing runs automatically, and results are not uploaded.

The defaults match the stored workload: 65,536 items, 64 loops per item, workgroup size 64, 30 measured runs after 5 warmups. URL parameters can pre-fill the form, for example:

?mode=timed&kickMs=20

Modes:

  • idle — submit once, then await queue.onSubmittedWorkDone().
  • fast — submit empty command buffers in a tight diagnostic loop while awaiting the same completion.
  • timed — submit one empty command buffer every configured kickMs while awaiting the same completion.

The empty submissions are a diagnostic probe, not a production workaround. They change when host completion is observed; they do not make the original GPU workload faster.

Evidence boundary

This receipt supports only the single-host observation described above. It does not establish:

  • cross-platform, cross-vendor, or cross-GPU behavior;
  • headed Firefox parity on the real Iris Xe GPU;
  • a browser performance benchmark or production recommendation;
  • source-level confirmation of Firefox internals;
  • a new discovery of the upstream issue.

Firefox 155.0.1 WebGPU was manually enabled on Linux. The canonical stored captures are headless.

License

MIT — see LICENSE.

About

Reproducible WebGPU host-completion latency receipt for Chrome and Firefox on one Linux Intel Iris Xe host.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages