2006
DOI: 10.1145/1152649.1152651
|View full text |Cite
|
Sign up to set email alerts
|

An algebraic array shape inference system for MATLAB®

Abstract: The problem of inferring array shapes ahead of time in languages that exhibit both implicit and dynamic typing is a critical one because the ramifications of its solution are the better organization of array storage through compaction and reuse, and the generation of high-performance code through specialization by shape. This article addresses the problem in a prototypical implicitly and dynamically typed array language called MATLAB. The approach involves modeling the language's shape semantics using an algeb… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
16
0

Year Published

2006
2006
2016
2016

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 28 publications
(16 citation statements)
references
References 25 publications
0
16
0
Order By: Relevance
“…The MAGICA system [8] was a static compiler that statically inferred shapes through a symbolic shape inference algorithm. Our approach is quite different from MAGICA because we perform shape inference and specialization at runtime, and take into account program information obtained at runtime.…”
Section: Related Workmentioning
confidence: 99%
“…The MAGICA system [8] was a static compiler that statically inferred shapes through a symbolic shape inference algorithm. Our approach is quite different from MAGICA because we perform shape inference and specialization at runtime, and take into account program information obtained at runtime.…”
Section: Related Workmentioning
confidence: 99%
“…McCosh finds sets of legal type configurations using propositional logic constructs and infers the size of the variables by formulating this problem as a special version of the clique problem which she solves in polynomial time [15]. Joisha et al present a framework to infer array shape and even allow certain static inferences to be made when complete static knowledge is lacking, by establishing what useful inferences can be made regarding the shapes of statically indeterminable arrays [11,10]. These techniques could be integrated with our vectorizer to deliver an end-to-end solution to the vectorization of Matlab programs.…”
Section: Related Workmentioning
confidence: 99%
“…One way to address the performance problem that continues to hinder large scale application development in these languages is to compile these languages to a relatively lower-level language for which there are known good compilers [7,11,3]. Usually, the first step in this translation process is inferring types of the variables from their definitions and uses so that the individual high-level operations in the original program * The work in this paper was supported in part by the National Science could be mapped to their more precise equivalent operations.…”
Section: Motivationmentioning
confidence: 99%
“…), and ψ is the size for array variables (including the number of dimensions and the extent along each dimension). Various other pieces of work have addressed the issue of inferring types in MATLAB, and equivalently Octave, and that will not be discussed further in this paper [7,2,11]. The work described here assumes the availability of the variable types.…”
Section: Selecting the Library Functionsmentioning
confidence: 99%
See 1 more Smart Citation