Relaxed SIMD extends the existing SIMD proposal to introduce vector instructions that relax the strict determinism constraints of portable SIMD to take better advantage of the underlying hardware. The operations introduced in this proposal take advantage of widely available instruction sets to accelerate compute workloads.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? No
Supported instructions are enabled in Liftoff, and are visible to DevTools for debuggability.
114
No anticipated spec changes, but some potential for compat issues based on hardware, more details in this Entropy.md, and the linked issues.
On 3/9/23 3:42 PM, Deepti Gandluri wrote:
Quick note that I realized my title was accidentally cropped, it should be:
"Intent to Implement and Ship: WebAssembly Relaxed SIMD".
On Wed, Mar 8, 2023 at 4:11 PM Deepti Gandluri <gde...@chromium.org> wrote:
Contact emails
gde...@chromium.org, zh...@chromium.org, thib...@chromium.org
Explainer
https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/relaxed-simd/Overview.md
Specification
https://github.com/WebAssembly/relaxed-simd/tree/main/document
Summary
Relaxed SIMD extends the existing SIMD proposal to introduce vector instructions that relax the strict determinism constraints of portable SIMD to take better advantage of the underlying hardware. The operations introduced in this proposal take advantage of widely available instruction sets to accelerate compute workloads.
Blink component
Blink>JavaScript>WebAssembly
TAG review
Not required as per: https://v8.dev/docs/feature-launch-process. This introduces an additional set of vector operations to WebAssembly, and makes no API changes.
Risks
Interoperability and Compatibility
Gecko: In development, enabled in nightly
WebKit: No signal as per request for position: mail-archive.com/webki...@lists.webkit.org/msg30574.html
Web developers: Strongly positive, Proposal in Phase 3 in the WebAssembly CG the proposal was incubated to address some of the developer/user requests from the previous SIMD proposal.
Other signals: Proposal voted to a provisional phase 4 as per meeting notes in the February 14th CG meeting (notes: https://github.com/WebAssembly/meetings/blob/main/main/2023/CG-02-14.md). The feature has consensus in the CG, but the vote is provisional till the formal spec is up to date (Tracking issue: https://github.com/WebAssembly/relaxed-simd/issues/134, PRs also in flight).
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? No
Debuggability
Supported instructions are enabled in Liftoff, and are visible to DevTools for debuggability.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Is this feature fully tested by web-platform-tests?
Not applicable, tested by WebAssembly spec tests
Flag name
V8: --wasm-relaxed-simd
Chrome: Features::kWebAssemblyRelaxedSimd
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/v8/issues/detail?id=12284
Estimated milestones
114
Anticipated spec changes
No anticipated spec changes, but some potential for compat issues based on hardware, more details in this Entropy.md, and the linked issues.
Thanks for the Entropy.md doc - it's incredibly helpful.
For most of the exposed entropy, we already expose this via the User-Agent string, or the Arch UA Client Hint. Can you say more about "Differences between hardware that has native FMA support, and hardware that does not." and "whether the Dot product extension is supported in the most optimal codegen" - any idea what the distributions would look there there?
As to compat, "code compiled for one browser works differently on
a different browser" - this sounds a little bit scary! Do we have
any ideas on how to minimize (I assume preventing isn't a reality)
this outcome?
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALi9WK_SOE5jAVCPydhY0Xn4S6P2rr_W9qhQhN5tA0Ew9vJEdg%40mail.gmail.com.
On 3/9/23 3:42 PM, Deepti Gandluri wrote:
This should be updated to neutral, with concerns around potential compat issues (it was manually moved to the new standards-position repo: https://github.com/WebKit/standards-positions/issues/4#issuecomment-1170364495).Quick note that I realized my title was accidentally cropped, it should be:
"Intent to Implement and Ship: WebAssembly Relaxed SIMD".
On Wed, Mar 8, 2023 at 4:11 PM Deepti Gandluri <gde...@chromium.org> wrote:
Contact emails
gde...@chromium.org, zh...@chromium.org, thib...@chromium.org
Explainer
https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/relaxed-simd/Overview.md
Specification
https://github.com/WebAssembly/relaxed-simd/tree/main/document
Summary
Relaxed SIMD extends the existing SIMD proposal to introduce vector instructions that relax the strict determinism constraints of portable SIMD to take better advantage of the underlying hardware. The operations introduced in this proposal take advantage of widely available instruction sets to accelerate compute workloads.
Blink component
Blink>JavaScript>WebAssembly
TAG review
Not required as per: https://v8.dev/docs/feature-launch-process. This introduces an additional set of vector operations to WebAssembly, and makes no API changes.
Risks
Interoperability and Compatibility
Gecko: In development, enabled in nightly
WebKit: No signal as per request for position: mail-archive.com/webki...@lists.webkit.org/msg30574.html
Web developers: Strongly positive, Proposal in Phase 3 in the WebAssembly CG the proposal was incubated to address some of the developer/user requests from the previous SIMD proposal.
Other signals: Proposal voted to a provisional phase 4 as per meeting notes in the February 14th CG meeting (notes: https://github.com/WebAssembly/meetings/blob/main/main/2023/CG-02-14.md). The feature has consensus in the CG, but the vote is provisional till the formal spec is up to date (Tracking issue: https://github.com/WebAssembly/relaxed-simd/issues/134, PRs also in flight).
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? No
Debuggability
Supported instructions are enabled in Liftoff, and are visible to DevTools for debuggability.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Is this feature fully tested by web-platform-tests?
Not applicable, tested by WebAssembly spec tests
Flag name
V8: --wasm-relaxed-simd
Chrome: Features::kWebAssemblyRelaxedSimd
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/v8/issues/detail?id=12284
Estimated milestones
114
Anticipated spec changes
No anticipated spec changes, but some potential for compat issues based on hardware, more details in this Entropy.md, and the linked issues.
Thanks for the Entropy.md doc - it's incredibly helpful.
For most of the exposed entropy, we already expose this via the User-Agent string, or the Arch UA Client Hint. Can you say more about "Differences between hardware that has native FMA support, and hardware that does not." and "whether the Dot product extension is supported in the most optimal codegen" - any idea what the distributions would look there there?
As to compat, "code compiled for one browser works differently on a different browser" - this sounds a little bit scary! Do we have any ideas on how to minimize (I assume preventing isn't a reality) this outcome?
On Thu, Mar 9, 2023 at 2:38 PM Mike Taylor <mike...@chromium.org> wrote:
On 3/9/23 3:42 PM, Deepti Gandluri wrote:
Quick note that I realized my title was accidentally cropped, it should be:
"Intent to Implement and Ship: WebAssembly Relaxed SIMD".
On Wed, Mar 8, 2023 at 4:11 PM Deepti Gandluri <gde...@chromium.org> wrote:
Contact emails
gde...@chromium.org, zhin@chromium.org, thibaudm@chromium.org
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Hey Deepti,LGTM1I'm excited by the performance this intent will unlock.The explainer sort of hints at it, but what do you expect the impact to be on binary sizes based on compilers building in workarounds for missing relaxed instructions? How do you anticipate that developers will adopt to the presence/absence of these ops while balancing WASM binary size concerns?
On TAG review, this *is* a web-visible change, so it would be helpful to keep that in mind in the future. Would encourage you to send the TAG an FYI about new language additions to help them stay informed and consider those capabilities when reviewing other features.
Thanks.Alex
On Thursday, March 9, 2023 at 11:42:18 PM UTC-8 Deepti Gandluri wrote:
On Thu, Mar 9, 2023 at 2:38 PM Mike Taylor <mike...@chromium.org> wrote:
On 3/9/23 3:42 PM, Deepti Gandluri wrote:
Quick note that I realized my title was accidentally cropped, it should be:
"Intent to Implement and Ship: WebAssembly Relaxed SIMD".
On Wed, Mar 8, 2023 at 4:11 PM Deepti Gandluri <gde...@chromium.org> wrote:
Contact emails
gde...@chromium.org, zh...@chromium.org, thib...@chromium.org
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALi9WK9pxdZX21u95VTRS_d9bA8HwRO1adCy9Q2NaWeb2UCanw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfUXocyEzokDtbP5V6rw7Fzy8yOqyvWEZbx0Sqy%3DqC4-7A%40mail.gmail.com.