Proceedings of the 25th International Conference on Compiler Construction 2016
DOI: 10.1145/2892208.2892213
|View full text |Cite
|
Sign up to set email alerts
|

Extended lattice-based memory allocation

Abstract: This work extends lattice-based memory allocation, an earlier work on memory (array) reuse analysis. The main motivation is to handle in a better way the more general forms of specifications we see today, e.g., with loop tiling, pipelining, and other forms of parallelism available in explicitly parallel languages. Our extension has two complementary aspects. We show how to handle more general specifications where conflicting constraints (those that describe the array indices that cannot share the same location… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3

Citation Types

0
3
0

Year Published

2018
2018
2018
2018

Publication Types

Select...
4

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(3 citation statements)
references
References 22 publications
0
3
0
Order By: Relevance
“…There is the possibility to contract array space after scheduling [6,7,11,19,25,34]. However, the re-scheduled program may inherently require more memory than the source program, especially if the scheduler is unaware that its decisions may increase the memory footprint.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…There is the possibility to contract array space after scheduling [6,7,11,19,25,34]. However, the re-scheduled program may inherently require more memory than the source program, especially if the scheduler is unaware that its decisions may increase the memory footprint.…”
Section: Related Workmentioning
confidence: 99%
“…A conflict set as presented in [7,11] can be useful to determine whether a scalar is conflicting with an array (Listing 6 line 13). For the purpose of DeLICM we additionally need to analyze the stored content.…”
Section: Related Workmentioning
confidence: 99%
“…[19] took a fresh and elegant approach to the problem, and formulated the conditions for legal memory allocations by defining the conflict set. This led to techniques for choosing provably optimal memory allocations, initially for non-parameterized iteration spaces, and recently in the context of FPGA acelerators, for parametrically tiled spaces [16,17]. Vasilache et al [64] developed a tool to combine the scheduling and limiting memory expansion using an ILP formulation, implemented in the R-Stream compiler.…”
Section: A3 Related Workmentioning
confidence: 99%