Bulldog: a compiler for VLSI architectures
Bulldog: a compiler for VLSI architectures
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Tutorial: abstraction in numerical methods
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Expressing mathematical subroutines constructively
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Available instruction-level parallelism for superscalar and superpipelined machines
ASPLOS III Proceedings of the third international conference on Architectural support for programming languages and operating systems
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Partial Evaluation and Mixed Computation: Proceedings of the IFIP TC2 Workshop, Gammel Avernaes, Denmark, 18-24 Oct., 1987
The Bifurcation Interpreter: A Step Towards the Automatic Analysis of Dynamical Systems
The Bifurcation Interpreter: A Step Towards the Automatic Analysis of Dynamical Systems
A Compilation Strategy for Numerical Programs Based on Partial Evaluation
A Compilation Strategy for Numerical Programs Based on Partial Evaluation
Detecting static algorithms by partial evaluation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Automatic generation of compiled simulations through program specialization
DAC '91 Proceedings of the 28th ACM/IEEE Design Automation Conference
A partial evaluator for data flow graphs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Fortran program specialization
ACM SIGPLAN Notices
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Freeing the essence of a computation
ACM SIGPLAN Lisp Pointers
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
Partial Evaluation of the Euclidian Algorithm
Lisp and Symbolic Computation
Software Reuse by Specialization of Generic Procedures through Views
IEEE Transactions on Software Engineering
Toward a complete transformational toolkit for compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
An annotation language for optimizing software libraries
Proceedings of the 2nd conference on Domain-specific languages
Will Domain-Specific Code Synthesis Become a Silver Bullet?
IEEE Intelligent Systems
Creation of Views for Reuse of Software with Different Data Representations
IEEE Transactions on Software Engineering
Just When You Thought Your Little Language Was Safe: ``Expression Templates'' in Java
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Program Generation, Termination, and Binding-Time Analysis
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Optimizing the Use of High Performance Software Libraries
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
Partial Evaluation: Concepts and Applications
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
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
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An annotation language for optimizing software libraries
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
A Framework-Based Environment for Object-Oriented Scientific Codes
Scientific Programming - The First Annual Object-Oriented Numerics Conference (OON-SKI '93)
HotOS'13 Proceedings of the 13th USENIX conference on Hot topics in operating systems
Hi-index | 4.10 |
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.