+cc cwallez, since he is the WebGPU lead, and can respond authoritatively if I am OOO
Contact emailsrharri...@chromium.org ExplainerNone Specificationhttps://www.w3.org/TR/webgpu/#shader-f16 Summary Allows for the use of the half-precision floating-point type f16 in WebGPU shaders (WGSL). Developers can use the 'shader-f16' feature from the WebGPU spec and the 'f16' extension from the WGSL spec to access 16-bit floating point variables and APIs in their shaders. Blink componentInternals>GPU>Dawn <https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EGPU%3EDawn> TAG reviewNone TAG review statusNot applicable Risks Interoperability and Compatibility None *Gecko*: Positive Mozilla has already implemented this feature. *WebKit*: Positive (https://bugs.webkit.org/show_bug.cgi?id=254668) *Web developers*: Positive f16 support in general has been requested feature in multiple different web runtimes/frameworks, e.g. https://github.com/microsoft/onnxruntime/issues/9758 and http://tc39.es/proposal-float16array/ From the initial proposal, https://github.com/gpuweb/gpuweb/issues/658, there were multiple benchmarks/demoes that indicate a substantial performance benefit shown in demos/tests, ~25% if ALU bound, and upto 50% if memory bound. TF.js has been investigating using f16 in WebGPU, https://github.com/gpuweb/gpuweb/issues/658#issuecomment-606492757 and already has it available in the WebGL implementation TF.js has significant improvements from forcing using Half Float (the GL equivalent feature), https://github.com/tensorflow/tfjs/issues/1047 The Dawn team has interacted with multiple internal and external partners that have indicated that f16 support is an important feature for them to get the performance needed to adopt WebGPU *Other signals*: Intel has dedicated significant resources to help implement f16 in Dawn/Tint, and write proper testing coverage in the CTS. 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 occuring to launch WebGPU on Android. Debuggability None 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 Mac and Chrome OS, since those are platforms already support WebGPU. Windows support depends on internal changes to use DXC, which are in progress, so f16 will become availabe once that is finished. Linux and Android are planned to have WebGPU support in the future, so 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> ?No 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. Test coverage for execution of f16 operations has been implemented, https://github.com/gpuweb/cts/issues/1248. Additional testing is in development. Flag name on chrome://flagsNone Finch feature nameWebGPUExposeShader16 Requires code in //chrome?False Availability expectationFeature is available only in Chromium browsers for the near future, on the order of months. Other browsers intend to ship WebGPU and f16 support, but don't have specified timelines. Adoption expectationFeature is used by specific partner(s) to provide functionality within 12 months of launch in Chrome. Adoption planMultiple partners are actively developing products/features that will use f16 in WebGPU. 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 120 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, f16 has been landed in the WebGPU and WGSL specs https://github.com/gpuweb/gpuweb/pull/2696 (There is some discussion about whether or not explicit enabling of extensions should be required. Currently it is, so If this changes existing shaders would be fine because the desire is to make enabling optional, not removing the mechanism entirely). Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5180552617656320 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/CAM4DYDaCcxwhdQb%2B%3DoZcAyd1-o3tU3qNu2Rbv5p0V95nGMeKQg%40mail.gmail.com.