Title :
Compiling SIMD programs for MIMD architectures
Author :
Quinn, Michael J. ; Hatcher, Philip J.
Author_Institution :
Dept. of Comput. Sci., Oregon State Univ., OR, USA
Abstract :
A summary of the advantages of data parallel languages a subclass of SIMD (single-instruction-stream, multiple-data-stream languages) is presented, and it is shown how programs written in a data parallel language can be compiled into loosely-synchronous MIMD (multiple-instruction-stream, multiple-data-stream) programs suitable for efficient execution on multicomputers. It is shown that the compiler must first locate the points at which message passing is required. These points are identical to the synchronization points. Therefore, message passing-primitives also synchronize the processors. Second, the compiler must transform the control structure of the input program to bring message-passing primitives to the outermost level. In order to allow a single physical processor to emulate a number of processing elements, the compiler must insert FOR loops around the blocks of code that are delimited by the calls to the message-passing primitives. Finally, data flow analysis can be used to eliminate some calls on message-passing routines and to combine multiple shorter messages into single, longer message whenever possible
Keywords :
parallel architectures; parallel programming; program compilers; MIMD architectures; SIMD programs compilation; data parallel languages; synchronization points; Computational modeling; Computer aided instruction; Computer architecture; Computer languages; Computer science; Concurrent computing; Parallel languages; Program processors; Programming profession; Taxonomy;
Conference_Titel :
Computer Languages, 1990., International Conference on
Conference_Location :
New Orleans, LA
Print_ISBN :
0-8186-2036-6
DOI :
10.1109/ICCL.1990.63785