Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques 2010
DOI: 10.1145/1854273.1854317
|View full text |Cite
|
Sign up to set email alerts
|

A model for fusion and code motion in an automatic parallelizing compiler

Abstract: Loop fusion has been studied extensively, but in a manner isolated from other transformations. This was mainly due to the lack of a powerful intermediate representation for application of compositions of high-level transformations. Fusion presents strong interactions with parallelism and locality. Currently, there exist no models to determine good fusion structures integrated with all components of an autoparallelizing compiler. This is also one of the reasons why all the benefits of optimization and automatic… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
21
0

Year Published

2012
2012
2021
2021

Publication Types

Select...
6
1

Relationship

1
6

Authors

Journals

citations
Cited by 43 publications
(21 citation statements)
references
References 20 publications
0
21
0
Order By: Relevance
“…Finally, the proof for Theorem 5 also implies a loop-carried input for a particular variable access is created on a loop only when all the accesses to a variable inside the loop-nest are read accesses. Therefore, a flow path from a loopinvariant source vertex to a loop-carried input never exists, ensuring characteristic (6).…”
Section: Synthesizing a Dataflow Diagrammentioning
confidence: 99%
See 1 more Smart Citation
“…Finally, the proof for Theorem 5 also implies a loop-carried input for a particular variable access is created on a loop only when all the accesses to a variable inside the loop-nest are read accesses. Therefore, a flow path from a loopinvariant source vertex to a loop-carried input never exists, ensuring characteristic (6).…”
Section: Synthesizing a Dataflow Diagrammentioning
confidence: 99%
“…There are many compilers, both proprietary and open-source which now use the polyhedral compiler framework [12,15,6,16]. Research in this area, however, has predominantly focused on imperative languages such as C, C++, and Fortran.…”
Section: Introductionmentioning
confidence: 99%
“…The work in the first category focuses on improving data locality and date reuse by code transformation, especially loop transformation [2][3][4][5][6][7][8][9][10][11]. By changing the accessing order of array references in the loop nests, the co-located references become temporally "closer", which means a smaller data reuse buffer.…”
Section: Introductionmentioning
confidence: 99%
“…To improve data locality, iteration distances between dependent array instances are formulated in the objective function. Beside affine transformation, loop fusion/distribution, code motion and tiling for imperfectly nests loops have also been studied in recent work [8][9][10][11]. However, these models [2][3][4][5][6][7][8][9][10][11] use simple platform-independent objective functions, which cannot accurately model the impact of memory hierarchy allocation in hardware synthesis.…”
Section: Introductionmentioning
confidence: 99%
“…Automatic parallelization and locality optimization of affine loop nests have been addressed for shared-memory multiprocessors and GPUs with good success [4], [7], [8], [16], [29], [30]. However, many large-scale simulation applications must be executed in a distributed-memory environment, using irregular or sparse computations where the control-flow and array-access patterns are data-dependent.…”
Section: Introductionmentioning
confidence: 99%