Partial evaluation applied to numerical computation
- 1 May 1990
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 139-150
- https://doi.org/10.1145/91556.91612
Abstract
There have been many demonstrations that the expressive power of Lisp can greatly simplify the process of writing numerical programs, but at the cost of reduced performance.[10][16] I show that by coupling Lisp's abstract, expressive style of programming with a compiler that uses partial evaluation, data abstractions can be eliminated at compile time, producing extremely high-performance code. For an important class of numerical programs, partial evaluation achieves order-of-magnitude speed-ups over conventional Lisp compilation technology. This approach has proven to be especially effective when used in conjunction with schedulers for VLIW and highly pipelined architectures, because the elimination of data structures and procedural abstractions exposes the low-level parallelism inherent in a computation.Keywords
This publication has 5 references indexed in Scilit:
- Expressing mathematical subroutines constructivelyPublished by Association for Computing Machinery (ACM) ,1988
- Tutorial: abstraction in numerical methodsPublished by Association for Computing Machinery (ACM) ,1988
- Advanced compiler optimizations for supercomputersCommunications of the ACM, 1986
- Listlessness is better than lazinessPublished by Association for Computing Machinery (ACM) ,1984
- Automatic generation of time efficient digital signal processing softwareIEEE Transactions on Acoustics, Speech, and Signal Processing, 1977