loading...
A Dimension Abstraction Approach to Vectorization in Matlab
San Jose, California March 11-March 14
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CGO.2007.1International Symposium on Code Gener ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Neil Birkbeck, University of Alberta, Canada
Jonathan Levesque, University of Alberta, Canada
Jose Nelson Amaral, University of Alberta, Canada
Matlab is a matrix-processing language that offers very efficient built-in operations for data organized in arrays. However Matlab operation is slow when the program accesses data through interpreted loops. Often during the development of a Matlab application writing loop-based code is more intuitive than crafting the data organization into arrays. Furthermore, many Matlab users do not command the linear algebra expertise necessary to write efficient code. Thus loop-based Matlab coding is a fairly common practice. This paper presents a tool that automatically converts loop-based Matlab code into equivalent array-based form and built-in Matlab constructs. Arraybased code is produced by checking the input and output dimensions of equations within loops, and by transposing terms when necessary to generate correct code. This paper also describes an extensible loop pattern database that allows user-defined patterns to be discovered and replaced by more efficient Matlab routines that perform the same computation. The safe conversion of loop-based into more efficient array-based code is made possible by the introduction of a new abstract representation for dimensions.
Citation:
Neil Birkbeck, Jonathan Levesque, Jose Nelson Amaral, "A Dimension Abstraction Approach to Vectorization in Matlab," cgo, pp.115-130, International Symposium on Code Generation and Optimization (CGO'07), 2007
Usage of this product signifies your acceptance of the Terms of Use.