2007
DOI: 10.1145/1286821.1286825
|View full text |Cite
|
Sign up to set email alerts
|

A step towards unifying schedule and storage optimization

Abstract: We present a unified mathematical framework for analyzing the tradeoffs between parallelism and storage allocation within a parallelizing compiler. Using this framework, we show how to find a good storage mapping for a given schedule, a good schedule for a given storage mapping, and a good storage mapping that is valid for all legal (one-dimensional affine) schedules. We consider storage mappings that collapse one dimension of a multidimensional array, and programs that are in a single assignment form and acce… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
8
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 9 publications
(8 citation statements)
references
References 43 publications
0
8
0
Order By: Relevance
“…Most storage optimization techniques in the literature are intraarray ones. This includes those of Wilde and Rajopadhye [21], Lefebvre and Feautrier [12], Strout et al [17], Quilleré and Rajopadhye [14], Thies et al [18,19], Darte et al [3,5], and Bhaskaracharya et al [4]. Among these, only [12] proposes an inter-array reuse technique that can be used in conjunction with other intra-array techniques in a decoupled and an orthogonal way.…”
Section: Related Workmentioning
confidence: 99%
“…Most storage optimization techniques in the literature are intraarray ones. This includes those of Wilde and Rajopadhye [21], Lefebvre and Feautrier [12], Strout et al [17], Quilleré and Rajopadhye [14], Thies et al [18,19], Darte et al [3,5], and Bhaskaracharya et al [4]. Among these, only [12] proposes an inter-array reuse technique that can be used in conjunction with other intra-array techniques in a decoupled and an orthogonal way.…”
Section: Related Workmentioning
confidence: 99%
“…For intra-array reuse, the construction of the conflicting indices requires some symbolic liveness analysis. Such array mappings can be defined in a post-scheduling phase, i.e., for a particular execution or schedule (scheduledependent mappings [10,14,15]), or before the final schedule is defined (scheduleindependent mappings [17,18,22]), so that the mapping is valid for any further code transformation (or a subclass, such as loop tiling). The latter situation arises also when compiling programs, expressed in a parallel language such as OpenMP or X10, on top of a runtime system, in which case the exact schedule is not statically known.…”
Section: Conflict Setmentioning
confidence: 99%
“…For computation reasons, we will choose a norm that can be minimized with linear programming, for example ||.|| ∞ (max of the absolute value of components) or ||.|| 1 (sum of the absolute value of components, i.e., Manhattan distance). To break ties, we can also use the norm proposed for the computation of AUOV [18], which is a two-dimensional lexicographic optimization, first the Manhattan distance, then the sum of the absolute value of all differences of two components, which tends to lead to more "diagonal" vectors.…”
Section: Rr N°8840mentioning
confidence: 99%
See 2 more Smart Citations