Compiling machine-independent parallel programs
1993; Association for Computing Machinery; Volume: 28; Issue: 8 Linguagem: Inglês
10.1145/163114.163127
ISSN1558-1160
AutoresMichæl Philippsen, Ernst A. Heinz, Paul Lukowicz,
Tópico(s)Interconnection Networks and Systems
ResumoInitial evidence is presented that explicitly parallel, machine-independent programs can automatically be translated into parallel machine code that is competitive in performance with hand-written code.The programming language used is Modula-2*, an extension of Modula-2, which incorporates both data and control parallelism in a portable fashion. An optimizing compiler targeting MIMD, SIMD, and SISD machines translates Modula-2* into machine-dependent C code.The performance of the resulting code is compared to that of equivalent, carefully hand-coded and tuned prograins. On a MasPar MP-1 (SIMD machine with up to 16k processors) the Modula-2* programs typically achieve 80% of the performance of the hand-coded parallel versions. When targeting sequential processors, the Modula-2* programs reach 90% of the performance of hand-coded sequential C. (There are no MIMD results yet.)The effects of two major optimization techniques, synchronization point elimination and data/process alignment are also quantified.
Referência(s)