Hacker News new | past | comments | ask | show | jobs | submit login
Intent to Implement: SIMD.js (groups.google.com)
57 points by tosh on May 5, 2015 | hide | past | favorite | 15 comments



Very exciting. Running some of the demos on Firefox Nightly (it's had SIMD and Typed Objects for a while), there's a fairly consistent 3x speedup. The Mandelbrot demo at 70fps is pretty cool.

By the way, if you've been looking to speed up your JavaScript code I'd start considering SIMD - it's highly unlikely WebCL is going to be implemented in major browsers, and the next version of WebGL looks to be a while away still.


WebCL looks pretty doomed since OpenCL is de facto abandoned by nearly all vendors including its initial main proponent (Apple).

WebGL 2 should enable some GPGPU stuff eventually though through features like transform feedback and more flexible data shuffling methods/formats.


Is OpenCL even necessary anymore with the arrival of SPIR-V?


SPIR-V is an IR and isn't designed to be human writable, so you still need a higher level language, like OpenCL, to emit it.

If browsers had a standard way to consume a language independent IR, although SPIR-V might not be the most suitable of those available, then that would enable the broader idea of language agnosticism that you suggest.


Probably not, but I wouldn't really know. As I understand, device manufacturers (Nokia, Samsung, Motorola, Intel, etc.) and Khronos were keen on WebCL (and presumably OpenCL), but browser makers such as Mozilla (and presumably Google and Microsoft) weren't, so WebCL is pretty doomed.


I've never programmed OpenCL but I've heard from others it's way too device dependent. Lots of queries about what the hardware can do and what form the data needs to be in before you can use it. That's not a good model for something that's just supposed to work everywhere.

For the most part that's not true with WebGL. Except for compressed texture formats (for which there was no viable solution at the time) most things just work everywhere except for speed and resources limits and that's already an issue with CPU only web apps


Yeah from having a look at Mozilla's reasons for not implementing WebCL it seems that implementing it just for Firefox OS was hard enough, let alone across all platforms. It seems WebGL 2.0 is their solution, not a separate WebCL standard (although WebCL is now at least 18 months old, while WebGL isn't finished).

That said, Nokia and Samsung seem to have already implemented WebCL as a Node.js package.


Its awesome that Dart effectively set the standard for SIMD in the browser.

If you get a chance, take a look at Dart. It's not a compact language but it experiments while applying a layer of polish to browser apis that preserve sanity. That and it has ~first class support for polymer.


http://peterjensen.github.io/idf2014-simd/idf2014-simd points to an experimental chromium build that apparently has a SIMD.js implementation as well, written by Intel.

No idea if the source for that is available, or where, and how this relates to OP's link.


Intel's (Cordova-compatible) Crosswalk project supports SIMD:

https://crosswalk-project.org/


And the link to the sources is the first link in the first reply to the original post:

https://github.com/crosswalk-project/v8-crosswalk/commits/ma...


The post seems to mention crossplatform support for SIMD.js. Does Intel's version work on ARM, too?


Yes - SIMD.js is (for now) seemingly only going to support SIMD features which can be implemented on two platforms. For example, 256 and 512-bit vectors have been proposed for SIMD.js, but the word is they won't be put into the spec until they can be implemented without a polyfill on two platforms (x86 and ARM).


Bill Budge (http://en.wikipedia.org/wiki/Bill_Budge) still rocking it at the keyboard after all these years. I played the heck out of his 8-bit games and learned ASM from articles he wrote for Softalk Magazine. Thanks Bill!


Is it useful to Android? Isn't ARM NEON different?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: