Intent to Implement: SIMD.js

3,684 views
Skip to first unread message

Bill Budge

unread,
May 5, 2015, 5:15:06 PM5/5/15
to blin...@chromium.org

Title:


Intent to Implement: SIMD.js


Body:


Contact emails

bbu...@chromium.org, bradn...@chromium.org


Spec

John Mccutchan’s Strawman proposal:

https://github.com/johnmccutchan/ecmascript_simd


Summary

SIMD.js exposes hardware SIMD instructions to Javascript applications in a platform-independent way. Add three SIMD vector types: float32x4, float64x2, and int32x4, and corresponding Typed Array views.


Motivation

SIMD.js can speed up applications that process lots of data that is naturally organized as 2, 3, or 4 element vectors. SIMD is also useful when compiling native code to Javascript for static compilation by the Javascript engine.


Compatibility Risk

Mozilla has implemented this in Firefox:

https://hacks.mozilla.org/2014/10/introducing-simd-js/

https://blog.mozilla.org/javascript/2015/03/10/state-of-simd-js-performance-in-firefox/


Microsoft has announced plans to implement SIMD.js in Chakra, their Javascript engine.

Slides:  http://channel9.msdn.com/Events/Build/2015/2-763

Video: http://video.ch9.ms/sessions/build/2015/2-763-LG.mp4


SIMD.js discussion starts at minute 45:35 and demoed with Mandelbrot at time 49:00.


Ongoing technical constraints

None.


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


OWP launch tracking bug?

None yet.


Link to entry on the feature dashboard

None yet.


Requesting approval to ship?

No.

Kenneth Rohde Christiansen

unread,
May 5, 2015, 5:20:53 PM5/5/15
to Bill Budge, blin...@chromium.org, Hu, Ningxin, Haghighat, Mohammad R
Hi there,

Will you reuse the implementation from Crosswalk? https://github.com/crosswalk-project/v8-crosswalk/commits/master - Please feel free to doing so :-)

There is an IA implementation for CrankShaft and TurboFan, and I know that our Intel developers would love to participate in adding SIMD.js support upstream and help you in any way possible.

Kenneth

On Tue, May 5, 2015 at 11:07 PM Bill Budge <bbu...@google.com> wrote:

Title:


Intent to Implement: SIMD.js


Body:


Contact emails

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Kenneth Rohde Christiansen

unread,
May 5, 2015, 5:33:06 PM5/5/15
to Bill Budge, blin...@chromium.org
There is also a demo app here: https://github.com/kenchris/crosswalk-simd-demo incorporating the mandelbrot and our birds demo.

And a video showing the demo app (birds) here: https://youtu.be/GHEXR8TgbAk?t=1m21s

Intel implementation in V8 for IA (Intel Architecture) for both CrankShaft and TurboFan: https://github.com/crosswalk-project/v8-crosswalk/commits/master

Kenneth

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Philip Jägenstedt

unread,
May 6, 2015, 4:56:53 AM5/6/15
to Bill Budge, blink-dev
Isn't this a V8 feature?

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Dmitry Lomov

unread,
May 6, 2015, 5:03:08 AM5/6/15
to Philip Jägenstedt, Bill Budge, blink-dev
It is indeed an ECMAScriopt language feature, and as such it belongs to V8.
For V8 features, please follow the V8 launch process: https://developers.google.com/v8/launchprocess

Dmitry

hab...@chromium.org

unread,
May 6, 2015, 5:58:40 AM5/6/15
to blin...@chromium.org, bbu...@google.com, phi...@opera.com
Hi Bill,

thanks for the intend to implement post. Philip and Dimitry are correct that this is indeed a V8 feature. In that case it makes sense that you re-post the the intend to implement to v8-u...@googlegroups.com. The V8 developers can cooperate with you there on getting this feature on track and to the users.

Please have also a look at https://developers.google.com/v8/launchprocess or/and ask me for further guidance. It is our own adaption of Blink's launch process.

Thanks a lot,
Michael
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.


Bill Budge

unread,
May 6, 2015, 6:14:51 AM5/6/15
to blin...@chromium.org, phi...@opera.com, bbu...@google.com, hab...@chromium.org
Thanks, I will repost it on the v8 group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.


PhistucK

unread,
May 6, 2015, 9:43:12 AM5/6/15
to Bill Budge, blink-dev, Philip Jägenstedt, Michael Hablich
Do not forget to CC blink-dev. :)


PhistucK
Reply all
Reply to author
Forward
0 new messages