Skip to main content

MaJIC: A Matlab Just-In-Time Compiler

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2017))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. W. Blume and R. Eigenmann. Symbolic range propagation. In Proceedings of the 9th International Parallel Processing Symposium, April 1995.

    Google Scholar 

  3. F. Bodin. MENHIR: High performance code generation for MATLAB. http://www.irisa.fr/caps/PEOPLE/Francois/.

  4. P. Bonzini. The GNU Smalltalk Homepage.

    Google Scholar 

  5. 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.

    Article  Google Scholar 

  6. L. A. DeRose. Compiler Techniques for MATLAB Programs. Technical Report UIUCDCS-R-96-1996, Department of Computer Science, University of Illinois, 1996.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. J. W. Eaton. Octave homepage. http://bevo.che.wisc.edu/octave/.

  9. 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.

    Google Scholar 

  10. R. Gupta. Optimizing array bounds checks using flow analysis. ACM Letters on Programming Languages and Systems, 2(1-4):135–150, 1993.

    Google Scholar 

  11. 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.

    Article  Google Scholar 

  12. 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.

    Google Scholar 

  13. Mathtools inc homepage. http://www.mathtools.com.

  14. Mathworks Inc. homepage. http://www.mathworks.com.

  15. Matmarks homepage. http://polaris.cs.uiuc.edu/matmarks/matmarks.html.

  16. V. Menon and K. Pingali. High-level semantic optimization of numerical codes. In 1999 ACM Conference on Supercomputing. ACMS IGARCH, June 1999.

    Google Scholar 

  17. V. Menon and A. E. Trefethen. MultiMATLAB: Integrating MATLAB with high performance parallel computing. In Proceedings of Supercomputing’ 97, 1997.

    Google Scholar 

  18. S. S. M uchnick and N. D. Jones. Program Flow Analysis: Theory and Application. Prentice Hall, 1981.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. R. C. W haley and J. J. Dongarra. Automatically tuned linear algebra software. In Supercomputing’ 98, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics