Intent to Extend Origin Trial: WebAssembly SIMD

125 views
Skip to first unread message

Zhi An Ng

unread,
Sep 9, 2020, 4:27:18 PM9/9/20
to blink-dev

Contact emails

zh...@chromium.org, natt...@chromium.org, gde...@chromium.org

Spec

Overview document: https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md

Proposal directory: https://github.com/WebAssembly/simd/tree/master/proposals/simd

Tag review: https://github.com/w3ctag/design-reviews/issues/487

Summary

The WebAssembly SIMD proposal defines a portable, performant subset of SIMD operations that map to vector instructions that are available across most modern hardware platforms.

This is purely a WebAssembly performance feature that adds WebAssembly operations and does not affect web API behavior, but is still useful for developers to be aware of as it can change performance characteristics of applications using WebAssembly.

An Origin Trial for WebAssembly SIMD started in Chrome 84 and is scheduled to end in Chrome 86. The results of the Origin Trial are:

  • gaps identified in V8 and Emscripten toolchain, bugs, optimization opportunities

We are not ready to ship this, and still need more feedback:

Link to “Intent to Prototype” blink-dev discussion

https://groups.google.com/a/chromium.org/g/blink-dev/c/y3z1Q4HnpgY/m/SpWP6YNJAwAJ

Goals for experimentation

New instructions added to the proposal, so we would like some time for developers to update their code base, examine the usefulness and performance of the new instructions, and for us to incorporate feedback in implementation or specification.

Experimental timeline

M87-M88

Any risks when the experiment finishes?

Performance loss from not using SIMD.

Reason this experiment is being extended

Couple more instructions were merged/will be merged into the proposal, but have not yet been in any OT, e.g. https://github.com/WebAssembly/simd/pull/201 and https://github.com/WebAssembly/simd/pull/122. We want some time for developers to upgrade, test the changes and for us to incorporate feedback.

Ongoing technical constraints

None.

Debuggability

Devtools is actively working on improving Wasm debuggability, and SIMD instructions are supported.

Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?

Yes.

Link to entry on the feature dashboard

https://www.chromestatus.com/feature/6533147810332672

Chris Harrelson

unread,
Sep 9, 2020, 4:31:14 PM9/9/20
to Zhi An Ng, blink-dev
LGTM

I assume the overview document been updated to include the new instructions?

Also, curious what the feedback has been so far and whether these changes were directly related to OT feedback.

--
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/269994c0-1b4d-4ae6-a154-1d22fea352abn%40chromium.org.

Zhi An Ng

unread,
Sep 9, 2020, 4:45:45 PM9/9/20
to Chris Harrelson, blink-dev
On Wed, Sep 9, 2020 at 1:31 PM Chris Harrelson <chri...@chromium.org> wrote:
LGTM

I assume the overview document been updated to include the new instructions?

Yup. New instructions are pull requests that we merge into the proposal repository, and contain changes to the overview document.


Also, curious what the feedback has been so far and whether these changes were directly related to OT feedback.

Most of the feedback have been bug reports, the larger code bases helped exercise our implementation a lot more.

Other feedback include performance improvement numbers, e.g. a recent TensorFlow.js blog post (https://blog.tensorflow.org/2020/09/supercharging-tensorflowjs-webassembly.html).

We have not heard feedback on the OT itself, it has been going smooth so far.


--
Best,
Zhi An
Reply all
Reply to author
Forward
0 new messages