Artigo Acesso aberto

Compiling machine-independent parallel programs

1993; Association for Computing Machinery; Volume: 28; Issue: 8 Linguagem: Inglês

10.1145/163114.163127

ISSN

1558-1160

Autores

Michæl Philippsen, Ernst A. Heinz, Paul Lukowicz,

Tópico(s)

Interconnection Networks and Systems

Resumo

Initial 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)