Abstract
Our goal is to incorporate state-of-the-art partial evaluation in a library of general-purpose algorithms — in particular, mathematical algorithms — in order to allow the automatic creation of efficient, special-purpose programs. The main goal is efficiency: a specialized program often runs significantly faster than its generic version.
This paper shows how a binding-time analysis can be used to identify potential sources for specialization in mathematical algorithms. The method is surprisingly simple and effective. To demonstrate the effectiveness of this approach we used an automatic partial evaluator for Fortran that we developed. Results for five well-known algorithms show that some remarkable speedup factors can be obtained on a uniprocessor architecture.
Chapter PDF
Similar content being viewed by others
References
Andersen, L.O. (1994) Program Analysis and Specialization for the C Programming Language. DIKU, Department of Computer Science, University of Copenhagen. DIKU Report 94/19.
Andersen, P.H. (1995) Partial Evaluation Applied to Ray Tracing. DIKU, Department of Computer Science, University of Copenhagen. DIKU Report 95/2.
Baier, R., Glück, R., Zöchling, R. (1994) Partial evaluation of numerical programs in Fortran, in ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation. University of Melbourne, Technical Report 94 /9.
Berlin, A., Weise, D. (1990) Compiling scientific code using partial evaluation. IEEE Computer, 23 (12), 25 - 37.
Goad, C. (1982) Automatic construction of special purpose programs, in 6th Conference on Automated Deduction (ed. D.W. Loveland), LNCS, vol. 138, Springer-Verlag.
Gustayson, F.G., Linige,r W., Willoughby, A.R. (1970) Symbolic generation of an optimal Crout algorithm for sparse systems of linear equations. J. of the ACM, 17 (1), 87 - 109.
Jones, N.D., Gomard, C.K., Sestoft, P. (1993) Partial Evaluation and Automatic Program Generation. International Series in Computer Science. Prentice Hall.
Kincaid, D., Cheney, W. (1991) Numerical Analysis: Mathematics of Scientific Computing. Brooks/Cole.
Kleinrubatscher, P., Kriegshaber, A., Zöchling, R., Glück, R. (1995) Fortran program specialization. SIGPLAN Notices, 30 (4), 61 - 70.
Metzger, R., Stroud, S. (1993) Interprocedural constant propagation: an empirical study. ACM Letters on Programming Languages and Systems, 2 (1-4), 213 - 32.
Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P. (1993) Numerical Recipes in Fortran: the Art of Scientific Computing. 2nd ed., Cambridge University Press.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1996 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Glück, R., Nakashige, R., Zöchling, R. (1996). Binding-time analysis applied to mathematical algorithms. In: Doležal, J., Fidler, J. (eds) System Modelling and Optimization. IFIP — The International Federation for Information Processing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-34897-1_14
Download citation
DOI: https://doi.org/10.1007/978-0-387-34897-1_14
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6671-4
Online ISBN: 978-0-387-34897-1
eBook Packages: Springer Book Archive