Abstract
In this paper, we discuss various performance overheads in MATLAB codes and propose different program transformation strategies to overcome them. In particular, we demonstrate that high-level source-to-source transformations of MATLAB programs are effective in obtaining substantial performance gains regardless of whether programs are interpreted or later compiled into C or FORTRAN. We argue that automating such transformations provides a promising area of future research.
- 1 R. Allen and K, Kennedy. Automatic translation of FORTRAN programs to vector form. A CM Transactzons on Programming Languages and Systems, 9(2):491-542, October 1987.]] Google ScholarDigital Library
- 2 S. Chauveau and F. Bodin. Menhir: An environment fo~ high performance MATLAB. In 4th Workshop on Languages, Compilers, and Run-t~me Systems for Scalable Computcrs, Pittsburgh, PA, May 1998.]] Google ScholarDigital Library
- 3 L. De Rose. Compiler Techn,ques for MA TLAB programs. PhD thesis, University of illinois at Urbana-Champaign, 1996.]] Google ScholarDigital Library
- 4 L. De Rose, K. Gallivan, E. Gallopoulos, B. Marsolf, and D. Padua. FALCON: A MAT- LAB interactive restructuring compiler. In Languages and Compders for Parallel Comput- ,ng, pages 269-288. Springer-Verlag, August 1995.]] Google Scholar
- 5 P. Drakenberg, P Jacobson, and B. Kagstrom. A CONLAB compiler for a distributed memory multicomputer. In 6th SlAM Conference on Parallel Processzng for Scientific Comput- ,ug, volume 2, pages 814~821, 1993.]]Google Scholar
- 6 J. Eaton. GNU Octave. http://w ww. che. wisc. edu / octave.]]Google Scholar
- 7 R. Gupta. A fresh look at optimizing array bound checking. In Prograrnrnzng Languages, Design and lmplementat,on. ACM SIGPLAN, Jun 1990.]] Google ScholarDigital Library
- 8 J. Ho}lingsworth, K. Liu, and P. Pauca. Parallel Toolbox for MATLAB. Wake Forest University, 1996. http ://www.mthcsc.wfu.edu/pt/pt.html.]]Google Scholar
- 9 Y. Keren. MATCOM: A MATLAB to C++ translator and support libraries. Technical report, Israel Institute of Technology, 1995.]]Google Scholar
- 10 Kuck and Associates, Inc. KAP for IBM Fortran and C. http://www, kai .corn/product/ibminf.html.]]Google Scholar
- 11 B. Marsolf. Techmques for the lnteractzve Development of Numerzcal Lznear Algebra L,- brames for Sc,ent~c Computat,on. PhD thesis, University of Illinois at Urbana-Champaign, 1997.]] Google ScholarDigital Library
- 12 The MathWorks, Inc. How Do I Vectomze My Code? http://www.mathworks.com/support/technotes/vS/1100/1109.shtml.]]Google Scholar
- 13 The MathWorks, Inc. MATLAB Compder, 1995.]]Google Scholar
- 14 V. Marion and K. Pingali. High-level semantic optimization of numerical codes. In Internat, onal Conference of Supercomputzng (ICS'99), June 1999.]] Google ScholarDigital Library
- 15 V. Menon and A. Trefethen. MultiMAT- LAB: Integrating MATLAB with high performance parallel computing. In Supercomputzng, November 1997.]] Google ScholarDigital Library
- 16 Pacific Sierra Research Corporation. VAST-2 for XL Fortran. h t t p://www, psrv .corn/vast/vast.xlf. html.]]Google Scholar
- 17 S. Pawletta, T. Pawletta, and W. Drewelow. Comparison of parallel simulation techniques - MATLAB/PSI. Ssmulat~on News Europe, 13:38-39, 1995.]]Google Scholar
- 18 The MATCH Project,. A MATLAB compilation environment for distributed heterogeneous adaptive computing systems. http://w ww.ece, nwu.edu/cpdc / Match / Match.html]]Google Scholar
- 19 M. Quinn, A. Malishevsky, and N. Seelam. Otter: Bridging the gap between MATLAB and ScaLAPACK. In 7th IEEE International Symposture on H~gh Performance D~str, buted Computing, August 1998.]] Google ScholarDigital Library
- 20 S. Ramaswamy, E. W. Hodges, and P. Bancrjee. Compiling MATLAB programs to ScaLA- PACK: Exploiting task and data parallelism. in Proc. of the International Parallel Processmg Symposzum, April 1996.]] Google ScholarDigital Library
- 21 M. Wolfe. H, gh Performance Compders for Parallel Computing. Addison-Wesley Publishing Company, 1995.]] Google ScholarDigital Library
Index Terms
- A case for source-level transformations in MATLAB
Recommendations
A case for source-level transformations in MATLAB
DSL '99: Proceedings of the 2nd conference on Domain-specific languagesIn this paper, we discuss various performance overheads in MATLAB codes and propose different program transformation strategies to overcome them. In particular, we demonstrate that high-level source-to-source transformations of MATLAB programs are ...
A case for source-level transformations in MATLAB
DSL'99: Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2In this paper, we discuss various performance overheads in MARLAB codes and propose different program transformation strategies to overcome them. In particular, we demonstrate that high-level source-to-source transformations of MATLAB programs are ...
A C Subset for Ergonomic Source-to-Source Analyses and Transformations
RAPIDO '24: Proceedings of the 16th Workshop on Rapid Simulation and Performance Evaluation for DesignModern compiled software, written in languages such as C, relies on complex compiler infrastructure. However, developing new transformations and improving existing ones can be challenging for researchers and engineers. Often, transformations must be ...
Comments