Abstract
We describe the problems associated with the creation of high performance code for mathematical computations. We discuss the advantages and disadvantages of using a high level language like MATLAB and then propose partial evaluation as a way of lessening the disadvantages at little cost. We then go on to describe the design of a partial evaluator for MATLAB and present results showing what performance increases can be achieved and the circumstances in which partial evaluation can provide these.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Almási, G.: MaJIC: A MATLAB Just-In-Time Compiler. PhD thesis, University of Illinois at Urbana-Champaign (2001)
Almási, G., Padua, D.: MaJIC: compiling MATLAB for speed and responsiveness. In: Proceeding of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, pp. 294–303. ACM Press, New York (2002)
Andersen, L.O.: Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen (1994)
Cousot, P., Cousot, R.: Abstract interpretation and application to logic programs. Journal of Logic Programming 13(2-3), 103–179 (1992)
Elphick, D.: Implementation of a MATLAB partial evaluator. Technical Report DSSE-TR- 2003-4, University of Southampton (2003)
Glück, R., Nakashige, R., Zöchling, R.: Binding-time analysis applied to mathematical algorithms. In: System Modelling and Optimization, pp. 137–146. Chapman & Hall, Boca Raton (1995)
Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice Hall, Englewood Cliffs (1993)
Kleinrubatscher, P., Kriegshaber, A., Zöchling, R., Glück, R.: Fortran program specialization. In: Snelting, G., Meyer, U. (eds.) Semantikgestützte Analyse, Entwicklung und Generierung von Programmen. GI Workshop, Schloss Rauischholzhausen, Germany, pp. 45–54 (1994) Justus-Liebig-Universität Giessen
Knoop, J., Ruthing, O., Steffen, B.: Partial dead code elimination. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 147–158. ACM Press, New York (1994)
Leuschel, M., Bruynooghe, M.: Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming 2(4 & 5), 461–515 (2002)
MAGICA website, http://www.ece.northwestern.edu/cpdc/pjoisha/MAGICA/
Menon, V., Trefethen, A.E.: MultiMATLAB: Integrating Matlab with high performance parallel computing. In: Supercomputing 1997. ACM SIGARCH and IEEE Computer Society, pp. 1–18 (1997)
Mogensen, T.Æ., Sestoft, P.: Partial evaluation. In: Kent, A., Williams, J.G. (eds.) Encyclopedia of Computer Science and Technology, vol. 37, pp. 247–279. Marcel Dekker, 270 Madison Avenue (1997)
Muchnick, S.: Advanced Compiler Design & Implementation. Morgan Kaufmann Publishers, San Francisco (1997)
Pawletta, S., Pawletta, T., Drewelow, W., Duenow, P., Suesse, M.: A MATLAB toolbox for distributed and parallel processing. In: Moler, C., Little, S. (eds.) Proc. of the Matlab Conference 1995, Cambridge, MA, October 1995, MathWorks Inc. (1995)
Quinn, M., Malishevsky, A., Seelam, N., Zhao, Y.: Preliminary results from a parallel MATLAB compiler. In: International Parallel Processing Symposium, pp. 81–87. IEEE CS Press, Los Alamitos (1998)
Rose, L.D.: Compiler techniques for MATLAB programs. Technical Report UIUCDCS-R-96-1956, University of Illinois at Urbana-Champaign (1996)
Rose, L.D., Gallivan, K., Gallopoulos, E., Marsolf, B.A., Padua, D.A.: FALCON: A MATLAB interactive restructuring compiler. In: Languages and Compilers for Parallel Computing, pp. 269–288. Springer, Heidelberg (1995)
Schultz, U.P., Lawall, J.L., Consel, C., Muller, G.: Towards automatic specialization of Java programs. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 367–390. Springer, Heidelberg (1999)
The MathWorks, Inc. - About Us., http://www.mathworks.com/company/aboutus.shtml
Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimizations of software and the ATLAS project. Parallel Computing 27(1-2), 3–35 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Elphick, D., Leuschel, M., Cox, S. (2003). Partial Evaluation of MATLAB. In: Pfenning, F., Smaragdakis, Y. (eds) Generative Programming and Component Engineering. GPCE 2003. Lecture Notes in Computer Science, vol 2830. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39815-8_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-39815-8_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20102-1
Online ISBN: 978-3-540-39815-8
eBook Packages: Springer Book Archive