Skip to content

SIMD and Data Parallelism

Applying the same operation to multiple data elements simultaneously (Single Instruction Multiple Data) multiplies throughput for regular, uniform computations. Data parallelism exploits regularity in the problem structure.

Tension Addressed

Predictability vs. Flexibility

Recognizable As

Vectorized operations, GPU computing, array programming languages, bulk transformations outperforming element-by-element loops, auto-vectorization.

Canonical Sources

Flynn, "Very high-speed computing systems" (1966); Patterson & Hennessy, Computer Organization and Design

Transfers To

Scientific computing, machine learning, graphics, data processing, database analytics

SIMD represents a fundamental principle: uniform operations on regular data structures enable massive parallelism. This pattern recurs from CPU vector instructions to GPU shaders to distributed map operations.