SIMD

From MozillaWiki
Jump to: navigation, search

SIMD (Single Instruction, Multiple Data) is a concept to accelerate computation by having one operation applied on several data values. Most modern processors include such operations.

To take advantage of this CPU feature it is necessary to assemble multiple data values and working on these vectors, which usually implies that algorithms have to be modified to work on such data vectors. In general, compilers usually cannot transform arbitrary scalar patterns into vector representations and thus cannot unlock the full potential of SIMD instructions, leaving this task to programmers.

To be able to work with SIMD instructions, the programmer needs a programming language with support for both vector data types and accompanying vector instructions. Currently JavaScript is no such language and adding SIMD support is under consideration.

A starting point to attain more information on the topic is the SIMD Overview.