Contact emails [email protected], [email protected]
Explainer https://github.com/gpuweb/gpuweb/issues/614 Specification https://gpuweb.github.io/gpuweb/#timestamp Summary WebGPU timestamp queries allow WebGPU applications to measure precisely (down to the nanosecond) how much time their GPU commands take to execute, especially at the beginning and end of passes. Timestamp queries are heavily used to gain insights into the performance and behavior of GPU workloads. While the WebGPU specification makes timestamp queries an optional feature due to timing attack concerns, we believe that timestamp queries quantization provides a good middle ground by reducing the precision of timers. To offer even more advanced protection against timing attacks and fingerprinting, timestamp queries are also coarsened based on site isolation status: - Isolated contexts: timestamp queries are exposed with a resolution of 100 microseconds. - Non-isolated contexts: timestamp queries are not exposed at all. Blink component Blink>WebGPU <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWebGPU> TAG review WebGPU spec: https://github.com/w3ctag/design-reviews/issues/626 TAG review status A new TAG review was not requested because timestamp queries were already part of the original one for the WebGPU spec and was approved. Risks Interoperability and Compatibility Timestamp queries have not yet been implemented in any browser, but have been approved by the GPU for the Web Community Group, with representatives from Chrome, Firefox, and Safari. See https://github.com/gpuweb/gpuweb/wiki/Minutes-2021-09-27#:~:text=consensus%20to%20support%20end/begin%2Dpass%20timestamp%20queries Gecko: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1827998) WebKit: Positive (https://github.com/gpuweb/gpuweb/pull/2190) Web developers: Positive. It’s one of the most common requested features. Many developers already use it today by running chrome with a special flag. See https://omar-shehata.medium.com/how-to-use-webgpu-timestamp-query-9bf81fb5344a Note that it was heavily used to benchmark and optimize Tensorflow.js. Other signals: WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? None at the moment, WebGPU currently does not ship on Android WebView. Parallel work is occurring to launch WebGPU on Android. Debuggability No DevTools changes are required. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? No All platforms will eventually have support. Will immediately be available on ChromeOS, Mac, and Windows, since those platforms already support WebGPU. Linux and Android are planned to have WebGPU support in the future, so this feature will become available when WebGPU does. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? Yes WebGPU/WGSL have a conformance test suite (https://github.com/gpuweb/cts) that is regularly pulled into Chromium and part of the testing of Dawn/Tint in Chromium. Flag name on chrome://flags None Finch feature name None Non-finch justification None Requires code in //chrome? False Tracking bug https://bugs.chromium.org/p/dawn/issues/detail?id=1800 Availability expectation Feature is available only in Chromium browsers for the near future, on the order of months. Other browsers intend to ship WebGPU support, but don't have specified timelines. Non-OSS dependencies Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function? No Estimated milestones Shipping on desktop 121 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). None Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5136606877188096 This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BEFoeuehbvaMwzXK3wZ6UxX0U4n7yZJwwJgVOADbBwHA%40mail.gmail.com.
