Compiling scientific code using partial evaluation
- 1 December 1990
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Computer
- Vol. 23 (12) , 25-37
- https://doi.org/10.1109/2.62091
Abstract
The partial evaluation approach, which transforms a high-level program into a low-level program that is specialized for a particular application, exposing the parallelism inherent in the underlying numerical computation, is discussed. A prototype compiler that uses partial evaluation is described. Experiments with the compiler have shown that for an important class of numerical programs, partial evaluation can provide marked performance improvements: speedups over conventionally compiled code that range from seven times faster to 91 times faster have been measured. By coupling partial evaluation with parallel scheduling techniques, the low-level parallelism inherent in a computation can be exploited on heavily pipelined or parallel architectures. The approach has been demonstrated by applying a parallel scheduler to a partially evaluated program that simulates the motion of a nine-body solar system.Keywords
This publication has 3 references indexed in Scilit:
- Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming languagePublished by Association for Computing Machinery (ACM) ,1989
- Available instruction-level parallelism for superscalar and superpipelined machinesPublished by Association for Computing Machinery (ACM) ,1989
- Expressing mathematical subroutines constructivelyPublished by Association for Computing Machinery (ACM) ,1988