1991
DOI: 10.1145/113446.113449
|View full text |Cite
|
Sign up to set email alerts
|

A data locality optimizing algorithm

Abstract: This paper proposes an algorithm that improves the locality of a loop nest by transforming the code via interchange, reversal, skewing and tiling. The loop transformation rrlgorithm is based on two concepts: a mathematical formulation of reuse and locality, and a loop transformation theory that unifies the various transforms as unimodular matrix tmnsfonnations. The algorithm haa been implemented in the SUIF (Stanford University Intermediate Format) compiler, and is successful in optimizing codes such as matrix… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
241
0

Year Published

1999
1999
2016
2016

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 262 publications
(241 citation statements)
references
References 10 publications
0
241
0
Order By: Relevance
“…This is why we restrict related work only to techniques aimed at automatic generation of tiled code. There has been a considerable amount of research into tiling, demonstrating how to aggregate a set of loop nest iterations into tiles with each tile as an atomic macro statement, from pioneer papers (Irigoin and Triolet, 1988;Wolf and Lam, 1991;Ramanujam and Sadayappan, 1992) to those presenting advanced techniques (Bondhugula et al, 2008a;Griebl, 2004;Lim et al, 1999;Wonnacott and Strout, 2013). Several popular frameworks are used to produce tiled code automatically: the classic polyhedral model (Feautrier, 1992a;1992b;Lim and Lam, 1994;Bondhugula et al, 2008a), the sparse polyhedral model (Strout et al, 2004), the non-polyhedral model (Kim and Rajopadhye, 2009), and iteration space slicing (Pugh and Rosser, 1997;.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…This is why we restrict related work only to techniques aimed at automatic generation of tiled code. There has been a considerable amount of research into tiling, demonstrating how to aggregate a set of loop nest iterations into tiles with each tile as an atomic macro statement, from pioneer papers (Irigoin and Triolet, 1988;Wolf and Lam, 1991;Ramanujam and Sadayappan, 1992) to those presenting advanced techniques (Bondhugula et al, 2008a;Griebl, 2004;Lim et al, 1999;Wonnacott and Strout, 2013). Several popular frameworks are used to produce tiled code automatically: the classic polyhedral model (Feautrier, 1992a;1992b;Lim and Lam, 1994;Bondhugula et al, 2008a), the sparse polyhedral model (Strout et al, 2004), the non-polyhedral model (Kim and Rajopadhye, 2009), and iteration space slicing (Pugh and Rosser, 1997;.…”
Section: Related Workmentioning
confidence: 99%
“…Tiling (Irigoin and Triolet, 1988;Wolf and Lam, 1991;Ramanujam and Sadayappan, 1992;Xue, 1996;Bondhugula et al, 2008a;Griebl, 2004;Lim et al, 1999) is a very important iteration reordering transformation for both improving data locality and coarsening the granularity of parallelism.…”
Section: Introductionmentioning
confidence: 99%
“…The same approach has been studied as a compiler optimization technique where loops are automatically restructured so that arrays are accessed by tiles rather than in the more natural but less efficient row or column order [AbKL81, WoLa91,McCT96]. Although in some cases these algorithms require that the arrays to be manipulated be stored by tiles, in many cases this is not necessary and the reorganization of the computation usually suffices to significantly improve the memory hierarchy performance of the algorithms.…”
Section: Programming For Locality With Htasmentioning
confidence: 99%
“…Although considerable research on loop transformations for locality has been reported in the literature [22,24,33], issues concerning the need to use loop fusion and loop tiling in an integrated manner for locality and memory usage optimization have not been considered. Wolf et al [34] consider the integrated treatment of fusion and tiling only from the point of view of enhancing locality and do not consider the impact of the amount of required memory; the memory requirement is a key issue for the problems considered in this paper.…”
Section: Related Workmentioning
confidence: 99%
“…Wolf et al [34] consider the integrated treatment of fusion and tiling only from the point of view of enhancing locality and do not consider the impact of the amount of required memory; the memory requirement is a key issue for the problems considered in this paper. Loop tiling for enhancing data locality has been studied extensively [27,33,30], and analytic models of the impact of tiling on locality have been developed [7,20,25]. Recently, a data-centric version of tiling called data shackling has been developed [12,13] (together with more recent work by Ahmed et al [1]) which allows a cleaner treatment of locality enhancement in imperfectly nested loops.…”
Section: Related Workmentioning
confidence: 99%