Compiling machine-independent parallel programs

  • Authors:
  • Michael Philippsen;Ernst A. Heinz;Paul Lukowicz

  • Affiliations:
  • -;-;-

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.