|Chrome To Support Simd.js
|Wednesday, 13 May 2015
With Firefox support and Microsoft working on it in Chakra, the news that Chrome is to get Simd.js support completes the set - apart from Safari that is.
SIMD - or Single Instruction Multiple Data - is one of the simplest and easiest parallel processing mechanisms. Essentially what it comes down to is packing multiple values into a single register and then performing the operation as if it was a single value. Of course, there are some overheads - you have to pack and unpack the data - but in most cases these can be minimized.
It isn't as good as using the GPU, but it is very much simpler. It is also something that a lot of C/C++ programs make use of to speed up things like codecs and game computations.
RealSIMD can produce a 3x or better speed up of programs that make heavy use of it.
In the chart below you can see Mozilla's figures for running the polyfill v simd.js as part of Asm.js.
There is a small problem that different hardware supports different types of SIMD instructions. The good news is that there is a core of operations that are supported by SSE on Intel and AMD x86 and by NEON on ARM. Hence there are no 256- and 512-bit vector operations. What this means is that the simd.js extensions will work on x86 and ARM platforms and Google is planning support on all Blink platforms. This will allow Android to run programs that use SIMD.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Thursday, 14 October 2021 )