Live briefing
Everything about Single program, multiple data
Computing technique used to achieve parallelism
In computing, single program, multiple data (SPMD) is a term that has been used to refer to computational models for exploiting parallelism whereby multiple processors cooperate in the execution of a program in order to obtain results faster. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Single program, multiple dataA 5-minute orientation
- Pick up a classic book: Modern Operating SystemsThe most-reprinted book on the subject
- Read the landmark paper: A single-program-multiple-data computational model for EPEX/FORTRANCited 127 times
- Go sideways: Flynn's taxonomyA closely related topic
- Go sideways: Data parallelismA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
A single-program-multiple-data computational model for EPEX/FORTRAN
An single program multiple data strategy for calculation of anharmonic vibrations
Heterogeneous programming with Single Operation Multiple Data
PERFORMANCE EVALUATION OF BACKPROPAGATION NEURAL NETWORK IMPLEMENTATION ON SINGLE PROGRAM MULTIPLE DATA (SPMD) ARCHITECTURE
📚 Books worth reading
Modern Operating SystemsAndrew S. Tanenbaum, Herbert Bos · 1992
Objects first with JavaDavid J. Barnes, Michael Kolling · 2002
Clean CodeRobert C. Martin · 2008
Pro GitScott Chacon, Ben Straub · 2009
Data structures and algorithm analysis in CMark Allen Weiss · 1993
Microprocessor Architecture, Programming, and Applications with the 8085Ramesh S. Gaonkar · 1996
Parallel Programming in C with MPI and OpenMPMichael J. Quinn · 2003
Data structures & algorithm analysis in JavaMark Allen Weiss · 1999
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Flynn's taxonomy Flynn's taxonomy is a classification of computer architectures, proposed by Michael J. Flynn in 1966 and extended in 1972. The classification system has…
- Data parallelism Data parallelism is parallelization across multiple processors in parallel computing environments. It focuses on distributing the data across different…
- Single instruction, multiple threads Single instruction, multiple threads (SIMT) is an execution model used in parallel computing where a single central "control unit" broadcasts an instruction…
- Single instruction, multiple data Single instruction, multiple data (SIMD) is a type of parallel computing (processing) in Flynn's taxonomy. SIMD describes computers with multiple processing…
- Parallel computing Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided…
- Stream processing In computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming…
- Thread (computing) In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which…
- Message Passing Interface The Message Passing Interface (MPI) is a portable message-passing standard designed to function on parallel computing architectures. The MPI standard defines…