+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.

Reply via email to