1988
DOI: 10.1007/3-540-18991-2_14
|View full text |Cite
|
Sign up to set email alerts
|

Strategies for cache and local memory management by global program transformation

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
67
0

Year Published

1996
1996
2018
2018

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 56 publications
(67 citation statements)
references
References 10 publications
0
67
0
Order By: Relevance
“…Wolf and Lam provide a concise definition and summary of important types of data locality [33]. Computation-reordering transformations such as loop permutation and tiling are the primary optimization techniques [9,21,33], though loop fission (distribution) and loop fusion have also been found to be helpful [21].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Wolf and Lam provide a concise definition and summary of important types of data locality [33]. Computation-reordering transformations such as loop permutation and tiling are the primary optimization techniques [9,21,33], though loop fission (distribution) and loop fusion have also been found to be helpful [21].…”
Section: Related Workmentioning
confidence: 99%
“…Several cachecapacity estimation techniques have been proposed to help guide data locality optimizations [9,33]. These techniques can also be enhanced to take into account limited cache associativity [8,30].…”
Section: Related Workmentioning
confidence: 99%
“…Given that the number of octrees is larger than the number of cores by several orders of magnitude, one important aspect of our strategy is that each octree is assigned to a single thread and is thus processed sequentially. This allows us to optimize the octree traversal with respect to cache usage [14,15]: leaf cells are explored along a Z-order curve to minimize cache misses, as illustrated in Figure 3 (red path).…”
Section: Software Architecturementioning
confidence: 99%
“…In order to decide which memory lines to load, we compute, for each variable, the range of addresses that it accesses. When analyzing array variables, we use the concept of uniformly generated references (UGR) [Gannon et al 1988] to decide which part of the array is accessed within the region. Two references are called uniformly generated when their array subscripts are affine and differ at most in their constant terms [Gannon et al 1988].…”
Section: Selecting Data To Lock In the Cache (Loaddata)mentioning
confidence: 99%
“…When analyzing array variables, we use the concept of uniformly generated references (UGR) [Gannon et al 1988] to decide which part of the array is accessed within the region. Two references are called uniformly generated when their array subscripts are affine and differ at most in their constant terms [Gannon et al 1988]. 6 At line 3 we classify all memory references to the studied variable V into uniformly generated classes.…”
Section: Selecting Data To Lock In the Cache (Loaddata)mentioning
confidence: 99%