12/31/2008

Parallel Computing-SIMD

SIMD refers to the computing technique/paradigm that is usually on a single CPU (i,.e., the SIMD-capable CPU).
clipped from en.wikipedia.org

SIMD

In computing, SIMD (Single Instruction, Multiple Data) is a technique employed to achieve data level parallelism, as in a vector processor.
Advantages

An application that may take advantage of SIMD is one where the same value is being added (or subtracted) to a large number of data points, a common operation in many multimedia applications. One example would be changing the brightness of an image. Each pixel of an image consists of three values for the brightness of the red, green and blue portions of the color. To change the brightness, the R G and B values are read from memory, a value is added (or subtracted) from them, and the resulting values are written back out to memory.

Disadvantages
  • Not all algorithms can be vectorized. For example, a flow-control-heavy task like code parsing wouldn't benefit from SIMD.
  • Hardware
    Small-scale (64 or 128 bits) SIMD has become popular on general-purpose CPUs, starting in 1989

    [edit] Software

    SIMD instructions
    blog it

    没有评论: