Monday, November 3, 2014
SIMD stands for Single Instruction Multiple Data, and is the name for performing operations on multiple data elements together. For example, a SIMD add instruction can add multiple values, in parallel. SIMD is a popular technique for accelerating computations in graphics, audio, codecs, physics simulation, cryptography, and many other domains. In addition to delivering performance, SIMD also reduces power usage, as it uses fewer instructions to do the same amount of work.
Mozilla’s Dan Gohmanand (of the Mozilla Research team primarily working on asm.js, SIMD.js) and Robert Nyman (Technical Evangelist & Editor of Mozilla Hacks) have posted a nice overview of the new API.
As the duo explains, the focus is currently on supporting both x86 platforms with SSE and ARM platforms with NEON. The project supporters are also interested in the possibility of supporting other platforms, potentially including MIPS, Power, and others.
SIMD.js is originally derived from the Dart SIMD specification, and it is rapidly evolving to become a more general API, and to cover additional use cases such as those that require narrower integer types, including Int8x16 and Int16x8, and saturating operations. SIMD.js is a fairly low-level API, and it is expected that libraries will be written on top of it to expose higher-level functionality such as matrix operations, transcendental functions, and more.
To learn all the details and a complete overview of SIMD.js, visit the blog post on the Mozilla Hacks site.
Read more: https://hacks.mozilla.org/2014/10/introducing-simd...
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more