Issue No. 02 - March/April (1993 vol. 10)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/52.199740
<p>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.</p>
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
A. Yehudai, E. Gabber and A. Averbuch, "Portable, Parallelizing Pascal Compiler," in IEEE Software, vol. 10, no. , pp. 71-81, 1993.