: We describe an approach to parallel compilation that seeks to harness the vast amount of ne-grain parallelism that is exposed through partial evaluation of numerically-intensive scienti c programs. We have constructed a parallelizing compiler es partial evaluation to break down data abstractions and program structure, producing huge basic blocks that contain large amounts of ne-grain parallelism. To utilize this parallelism, we have developed a technique for automatically mapping the ne grain parallelism onto a coarser grain parallel computer architecture. We selectively group the ne-grain operations together so as to adjust the parallelism grain-size to match the inter-processor communication capabilities of the target architecture. On an important scienti c problem, code produced by our compiler for the Supercomputer Toolkit parallel computer runs 6.2 times faster on eight processors than on one. For an important class of scienti c applications, the coupling of partial evaluation w...
Rajeev J. Surati, Andrew A. Berlin