Title :
A compiler for a massively parallel distributed memory MIMD computer
Author_Institution :
Thinking Machines Corp., Cambridge, MA, USA
Abstract :
The author describes the techniques that are used by the CM Compiler Engine to map the fine-grained array parallelism of languages such as Fortan 90 and C onto the Connection Machine (CM) architectures. The same compiler is used for node-level programming of the CM-5, for global programming of the CM-5, and for global programming of the SIMD (single-instruction multiple-data) CM-2. A new compiler phase is used to generate two classes of output code: code for a scalar control processor, which executes SPARC assembler, and code aimed at a model of the CM-5´s parallel-processing elements. The model is embodied in a new RISC (reduced instruction set computer)-like vector instruction set called PEAC. The control program distributes parallel data at runtime among the processor nodes of the target machine. Each of these nodes is itself superpipelined and superscalar. An innovative scheduler overlaps the execution of multiple PEAC operations, while conventional vector processing techniques keep the pipelines filled
Keywords :
distributed memory systems; instruction sets; parallel processing; program compilers; C; CM Compiler Engine; Fortan 90; PEAC; RISC-like vector instruction set; SIMD; SPARC assembler; compiler; fine-grained array parallelism; global programming; massively parallel distributed memory MIMD computer; node-level programming; parallel-processing elements; scalar control processor; scheduler; Assembly; Computer aided instruction; Engines; Parallel processing; Pipelines; Process control; Processor scheduling; Program processors; Reduced instruction set computing; Runtime;
Conference_Titel :
Frontiers of Massively Parallel Computation, 1992., Fourth Symposium on the
Conference_Location :
McLean, VA
Print_ISBN :
0-8186-2772-7
DOI :
10.1109/FMPC.1992.234910