Partial evaluation applied to numerical computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Verifying the correctness of compiler transformations on basic blocks using abstract interpretation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
BOKS: A Rule-Based System in Support of the Dutch Building Materials Regulations
Revised Papers from the PRICAI 2000 Workshop Reader, Four Workshops held at PRICAI 2000 on Advances in Artificial Intelligence
Journal of Functional Programming
Self-explanatory simulations: an integration of qualitative and quantitative knowledge
AAAI'90 Proceedings of the eighth National conference on Artificial intelligence - Volume 1
Optimizing floating point operations in Scheme
Computer Languages
Hi-index | 0.00 |
This work demonstrates how partial evaluation can be put to practical use in the domain of high-performance numerical computation. I have developed a technique for performing partial evaluation by using placeholders to propagate intermediate results. For an important class of numerical programs, a compiler based on this technique improves performance by an order of magnitude over conventional compilation techniques. I show that by eliminating inherently sequential data-structure references, partial evaluation exposes the low-level parallelism inherent in a computation. I have implemented several parallel scheduling and analysis programs that study the tradeoffs involved in the design of an architecture that can effectively utilize this parallelism. I present these results using the 9- body gravitational attraction problem as an example.