DocumentCode
2216207
Title
New results on array contraction [memory optimization]
Author
Darte, Alain ; Huard, Guillaume
Author_Institution
Lab. de l´´Informatique du Parallelisme, Ecole Normale Superieure de Lyon, France
fYear
2002
fDate
2002
Firstpage
359
Lastpage
370
Abstract
Array contraction is an optimization that transforms array variables into scalar variables within a loop. While the opposite transformation, scalar expansion, is used for enabling parallelism (with a penalty in memory size), array contraction is used to save memory by removing temporary arrays and to increase locality. Several heuristics have already been proposed to perform array contraction through loop fusion and/or loop shifting, but thus far, the complexity of the problem was unknown, and no exact approach was available. In this paper, we prove two NP-complete results that characterize precisely the problem and we give a practical integer linear programming formulation to solve the problem exactly.
Keywords
computational complexity; integer programming; linear programming; memory architecture; optimising compilers; parallel languages; program control structures; transforms; NP-complete problem characterization results; array contraction methods; array variables loop transformation; compilers; integer linear programming formulation; locality increase; loop fusion heuristics; loop shifting; memory optimization; memory size requirements; parallelism; problem complexity; scalar expansion; scalar variables; temporary array removal; Circuits; Design optimization; Energy consumption; Hardware; Integer linear programming; Optimizing compilers; Prefetching; Registers;
fLanguage
English
Publisher
ieee
Conference_Titel
Application-Specific Systems, Architectures and Processors, 2002. Proceedings. The IEEE International Conference on
ISSN
2160-0511
Print_ISBN
0-7695-1712-9
Type
conf
DOI
10.1109/ASAP.2002.1030735
Filename
1030735
Link To Document