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.