SPMD

SPMD ( Single Program Multiple Data) is a programming model of computer science for parallel hardware such as multi- processor systems. In SPMD programs, all processors execute the same program with different data. The SPMD formulation is clear and hardware specific.

While loops generate addresses in the size of the records in sequential processing, the program formulated in SPMD that the data for each program using the program instance ID could be addressed. Often it is only at run time, due to the existing hardware (cache size and associativity, SIMD width, number of processors ) and data set size, decide on the details of the processing. This flexibility has contributed, along with the simple formulation for distribution.

Application examples for physical shared memory without the " message passing " are: " Compute Unified Device Architecture " ( CUDA ), " Open Computing Language" ( OpenCL ), "Intel SPMD Program Compiler" ( ISPC ) and shaders.

731706
de