Simd: Timeline for Phase 4?

Created on 29 Jul 2020  Â·  10Comments  Â·  Source: WebAssembly/simd

My team has an ML feature that works great with the SIMD support in Firefox 79+, and presumably will work just as well in Chrome when V8 renumbers its opcodes to match — it all works fine in V8 tip-of-tree running in Node.

Emscripten support for WASM, both with WASM intrinsics and by translating from existing SIMD targets, seems to be fairly complete.

The only thing blocking us from release is support in browser release channels.

Is there any insight into when we'll be able to use SIMD support in release browsers? I gather that's "Phase 4".

Thanks!

Most helpful comment

@rnewman It's hard to give a useful estimate on the release timeline. There are a few kinds of work that we are actively working on that need to be done before phase 4.

  • Finalize the instruction set. There are still proposed instructions that we need to benchmark and decide whether or not to include.

  • Finalize the spec tests, formal spec text, and spec interpreter.

Even after all that, the CG may request more data or changes before approving a move to phase 4, so there are plenty of unknown unknowns as well. All I feel I can concretely say is that we are making good progress toward phase 4 and are not slowing down.

All 10 comments

Re: Chrome, you should be able to test right now on Chrome stable (84). Chrome also has an Origin Trial (https://developers.chrome.com/origintrials/#/view_trial/-4708513410415853567) for SIMD for 84 to 86, which you can try too.

Thanks, @ngzhian.

By "support in release browsers" I don't mean for testing, I mean available for general audience use. In Chrome Stable it's behind a feature flag, though it's good to see that 84 has converged on Firefox in terms of the actual SIMD opcode support.

The origin trial will no doubt be useful, but isn't a substitute for a GA launch.

@rnewman It's hard to give a useful estimate on the release timeline. There are a few kinds of work that we are actively working on that need to be done before phase 4.

  • Finalize the instruction set. There are still proposed instructions that we need to benchmark and decide whether or not to include.

  • Finalize the spec tests, formal spec text, and spec interpreter.

Even after all that, the CG may request more data or changes before approving a move to phase 4, so there are plenty of unknown unknowns as well. All I feel I can concretely say is that we are making good progress toward phase 4 and are not slowing down.

Closing this for now. Feel free to ask for a new status update in a few months if there hasn't been an update in the meantime :)

It appears that Google Meet is allowlisted for SIMD, so the absence of it for all of Meet's competitors is beginning to chafe. Any progress here, @tlively?

SIMD is in Origin Trial for all developers https://developer.chrome.com/origintrials/#/view_trial/-4708513410415853567.

Thanks, but that's not at all an answer to the question, @ngzhian; see my comment from July. I wrote:

By "support in release browsers" I don't mean for testing, I mean available for general audience use. In Chrome Stable it's behind a feature flag, though it's good to see that 84 has converged on Firefox in terms of the actual SIMD opcode support.

The origin trial will no doubt be useful, but isn't a substitute for a GA launch.

An origin trial is restricted to 0.5% of Chrome page loads. I want to know when — like Google Meet — all of my end users in release channels can leverage SIMD support. I understand that's still gated on Phase 4, hence me asking again for an update.

Ah, okay sorry I misunderstood your question. We are polling for Phase 4 on Feb 16, see the agenda item here https://github.com/WebAssembly/meetings/pull/707. So we should see it really soon! :)

@rnewman That's 0.5% of Chrome page loads across all page loads of any site. If you opt in to the origin trial, 100% of the page loads of your site will have SIMD enabled. This is the same mechanism Google Meet uses.

Thanks for clarifying, @tlively! Our product is an SDK, not a single product, and so it's our customers who need to opt in for the origin trial, but it's good to know that they can make it work now that we can detect SIMD support without hanging Chromium!

And that's great news, @ngzhian — exactly the update I was looking for. Thanks.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ngzhian picture ngzhian  Â·  7Comments

penzn picture penzn  Â·  9Comments

tlively picture tlively  Â·  6Comments

tlively picture tlively  Â·  4Comments

tlively picture tlively  Â·  5Comments