SPMD (single program, multiple data) is a technique employed to achieve parallelism; it is a subcategory of MIMD
In computing, spmd (single program, multiple data) is a technique employed to achieve parallelism; it is a subcategory of mimd.
Tasks are split up and run simultaneously on multiple processors with different input in order to obtain results faster.
SPMD is the most common style of parallel programming. It is also a prerequisite for research concepts such as active messages and distributed shared memory.
In SPMD, multiple autonomous processors simultaneously execute the same program at independent points, rather than in the lockstep that SIMD imposes on different data. With SPMD, tasks can be executed on general purpose CPUs; SIMD requires vector processors to manipulate data streams. Note that the two are not mutually exclusive.
Wikipedia page: http://en.wikipedia.org/wiki/SPMD