SIMD stands for "Single Instruction Multiple Data," and is one of several approaches to parallelism found in modern
high-performance computing.
Vector instructions are a primary example of SIMD in modern CPUs. SIMD vector instructions are exemplified by a single instruction
(e.g. "vector add") issued on vector operands (e.g. (1,2,3,4), (5,6,7,8)) to produce vector results (e.g. (6, 8, 10, 12)).
|
|
SIMD: Single Instruction, Multiple Data
(Click to view video; move pointer aside to see captions)
|
As we will see in the hardware section later, SIMD vector instructions are executed in parallel within the hardware vector units found in
CPUs and coprocessors. If each vector operand consists of N values, then the vector instruction will be applied to each of the N values of every operand
simultaneously in parallel. For example, a single vector addition instruction on (1,2,3,4) and (5,6,7,8) would result in four computations occcuring in
parallel: {(1+5), (2+6), (3+7), (4+8)}.