• 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