Abstract
This paper describes our experience with MaJIC, a just-intime compiler for MATLAB. In the recent past, several compiler projects claimed large performance improvements when processing MATLAB code. Most of these projects are static compilers suited for batch processing; MaJIC is a just-in-time compiler. The compilation process is transparent to the user. This impacts the modus operandi of the compiler, resulting in a few interesting analysis techniques. Our experiments with MaJIC indicate large speedups when compared to the interpreter, and reasonable performance when compared to static compilers.
This work was supported in part by NSF contract ACI98-70687 and by a graduate fellowship from Intel.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. Banerjee, N. Shenoy, A. Choudhary, S. Hauck, C. Bachmann, M. Chang, M. Haldar, P. Joisha, A. Jones, A. Kanhare, A. Nayak, S. Periyacheri, and M. Walkden. Match: A matlab compiler for configurable computing systems. Technical Report CPDC-TR-9908-013, Center for Parallel and Distributed Computing, Northwestern University, Aug. 1999.
W. Blume and R. Eigenmann. Symbolic range propagation. In Proceedings of the 9th International Parallel Processing Symposium, April 1995.
F. Bodin. MENHIR: High performance code generation for MATLAB. http://www.irisa.fr/caps/PEOPLE/Francois/.
P. Bonzini. The GNU Smalltalk Homepage.
L. DeRose and D. Padua. Techniques for the translation of mat lab programs into fortran 90. ACM Transactions on Programming Languages and Systems (TOPLAS), 21(2):285–322, March 1999.
L. A. DeRose. Compiler Techniques for MATLAB Programs. Technical Report UIUCDCS-R-96-1996, Department of Computer Science, University of Illinois, 1996.
L. P. Deutsch and A. Schiffman. Efficient Implementation of the Smalltalk-80 System. In Proceedings of the 11th Symposium on the Principles of Programming Languages, Salt Lake City, UT, 1984.
J. W. Eaton. Octave homepage. http://bevo.che.wisc.edu/octave/.
D. R. Engler. VCODE: a portable, very fast dynamic code generation system. In Proceedings of the ACM SIGPLAN Conference on Programming Languages Design and Implementation (PLDI’ 96), Philadelphia PA, May 1996.
R. Gupta. Optimizing array bounds checks using flow analysis. ACM Letters on Programming Languages and Systems, 2(1-4):135–150, 1993.
F. G. Gustavson. Recursion leads to automatic variable blocking for dense linear algebra algorithms. IBM Journal of Research and Development, 41(6):737–753, November 1997.
G.-H. Hwang and J. K. Lee. An array operation synthesis scheme to optimize fortran 90 programs. In PPOPP’ 95, pages 112–122, Santa Clara, USA, 1995.
Mathtools inc homepage. http://www.mathtools.com.
Mathworks Inc. homepage. http://www.mathworks.com.
Matmarks homepage. http://polaris.cs.uiuc.edu/matmarks/matmarks.html.
V. Menon and K. Pingali. High-level semantic optimization of numerical codes. In 1999 ACM Conference on Supercomputing. ACMS IGARCH, June 1999.
V. Menon and A. E. Trefethen. MultiMATLAB: Integrating MATLAB with high performance parallel computing. In Proceedings of Supercomputing’ 97, 1997.
S. S. M uchnick and N. D. Jones. Program Flow Analysis: Theory and Application. Prentice Hall, 1981.
M. Poletto, D. R. E ngler, and M. F. Kaashoek. tcc: A system for fast, flexible, and high-level dynamic code generation. In ACM SIGPLAN’ 97 Conference on Programming Language Design and Implementation (PLDI), pages 109–121, Las Vegas, Nevada, May 1997.
R. C. W haley and J. J. Dongarra. Automatically tuned linear algebra software. In Supercomputing’ 98, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Almasi, G., Padua, D.A. (2001). MaJIC: A Matlab Just-In-Time Compiler. In: Midkiff, S.P., et al. Languages and Compilers for Parallel Computing. LCPC 2000. Lecture Notes in Computer Science, vol 2017. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45574-4_5
Download citation
DOI: https://doi.org/10.1007/3-540-45574-4_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42862-6
Online ISBN: 978-3-540-45574-5
eBook Packages: Springer Book Archive