2017
DOI: 10.1002/cpe.4192
|View full text |Cite
|
Sign up to set email alerts
|

Full runtime polyhedral optimizing loop transformations with the generation, instantiation, and scheduling of code‐bones

Abstract: Summary In this paper, we present a new runtime code generation technique for speculative loop optimization and parallelization. The main benefit of this technique, compared to previous approaches, is to enable advanced optimizing loop transformations at runtime with an acceptable time overhead. The loop transformations that may be applied are those handled by the polyhedral model. The proposed code generation strategy is based on the generation of “code‐bones” at compile‐time, which are parametrized code snip… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
17
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 14 publications
(17 citation statements)
references
References 25 publications
0
17
0
Order By: Relevance
“…The need of identification could be circumvented by using a framework such as Apollo [7] that allows to speculate on a particular pattern, and then to rollback if the expected pattern was not respected.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…The need of identification could be circumvented by using a framework such as Apollo [7] that allows to speculate on a particular pattern, and then to rollback if the expected pattern was not respected.…”
Section: Discussionmentioning
confidence: 99%
“…If not, a rollback to the previous correct state is performed and a sequential execution of the loop is carried out. For certain types of data accesses, namely affine or nearly affine functions over loop counts, polyhedral models can be used to provide race-free static task parallelism [6], and these approaches have also recently be used successfully to build runtime systems that are able to rollback execution if access violations occurred [7]. For programs with low effective parallelism, this can lead to a significant overhead due to rollback followed by sequential execution when many conflicts occur between threads.…”
Section: Introduction and Overviewmentioning
confidence: 99%
“…Caamaño et al [4] describe the working of a runtime optimising polyhedral compiler called Apollo. To reduce complexity, they analyze small windows of LLVM-IR and statically generate variants of code for which dependences cannot be known until runtime.…”
Section: Related Workmentioning
confidence: 99%
“…Speculative code variants: Apollo [8] is a runtime optimizing polyhedral compiler. Polyhedral transformations are performed on small windows of LLVM-IR and variants for each transformation are generated with guard conditions.…”
Section: Related Workmentioning
confidence: 99%