On Thu, Oct 26, 2023 at 11:05 AM Domenic Denicola <dome...@chromium.org> wrote:
> > > On Thu, Oct 26, 2023 at 5:21 PM 'François Beaufort' via blink-dev < > blink-dev@chromium.org> wrote: > >> Contact emails >> >> fbeauf...@google.com, cwal...@google.com >> >> 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. >> > > By "isolated" do you mean "has the cross-origin isolated capability > <https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability> > "? > Yes. > > I wasn't able to find any spec or tests for this requirement, which seems > like a potential interoperability issue. > The WebGPU spec currently says: "The feature is optional, and a WebGPU implementation may limit its exposure only to those scenarios that are trusted." See https://gpuweb.github.io/gpuweb/#security-timing:~:text=The%20feature%20is%20optional%2C%20and%20a%20WebGPU%20implementation%20may%20limit%20its%20exposure%20only%20to%20those%20scenarios%20that%20are%20trusted > > >> >> 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 blink-dev+unsubscr...@chromium.org. >> To view this discussion on the web visit >> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BEFoeuehbvaMwzXK3wZ6UxX0U4n7yZJwwJgVOADbBwHA%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2BEFoeuehbvaMwzXK3wZ6UxX0U4n7yZJwwJgVOADbBwHA%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- 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 blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5%2B2kO0iA3TKMz5WbYAk42ZRv_1JJz8RvhzpAnLvKy6MQA%40mail.gmail.com.