This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Portable, Parallelizing Pascal Compiler
March/April 1993 (vol. 10 no. 2)
pp. 71-81

The structure and implementation of P/sup 3/C, a compiler that uses relatively simple parallelization techniques to produce highly efficient code for both shared-memory and distributed-memory MIMD multiprocessors, are discussed. P/sup 3/C is a fully automatic, portable parallelizing Pascal compiler for scientific code, which is characterized by loops operating on regular data structures. P/sup 3/C compiles the same source code to all target machines without modification. P/sup 3/C gives an accurate estimate about whether the parallel code will actually reduce execution time over serial code, taking into account the associated overhead. It derives the estimate by statically analyzing the program at compile time, referring to a table of the target machine's parameters. Speedups of up to 24 have been achieved on a Sequent Symmetry with 25 active processors. The estimated speedup was within 8% of the actual figure.

Index Terms:
distributed memory systems; Pascal; program compilers; shared memory systems; shared memory multiprocessors; parallelizing Pascal compiler; P/sup 3/C; distributed-memory MIMD multiprocessors; scientific code; data structures; Sequent Symmetry
Citation:
Eran Gabber, Amir Averbuch, Amiram Yehudai, "Portable, Parallelizing Pascal Compiler," IEEE Software, vol. 10, no. 2, pp. 71-81, March-April 1993, doi:10.1109/52.199740
Usage of this product signifies your acceptance of the Terms of Use.