2023
DOI: 10.1007/978-3-031-24950-1_1
|View full text |Cite
|
Sign up to set email alerts
|

Distributing and Parallelizing Non-canonical Loops

Abstract: This work leverages an original dependency analysis to parallelize loops regardless of their form in imperative programs. Our algorithm distributes a loop into multiple parallelizable loops, resulting in gains in execution time comparable to state-of-the-art automatic source-to-source code transformers when both are applicable. Our graph-based algorithm is intuitive, language-agnostic, proven correct, and applicable to all types of loops. Importantly, it can be applied even if the loop iteration space is unkno… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
5
0

Year Published

2023
2023
2023
2023

Publication Types

Select...
2
1

Relationship

1
2

Authors

Journals

citations
Cited by 3 publications
(5 citation statements)
references
References 27 publications
0
5
0
Order By: Relevance
“…This is (roughly) the study of measures or bounds on programs or computation states, such that only those programs having execution that terminates within the bound, are part of the characterization. This is a flourishing field, both for traditional programs (Bonfante et al, 2011;Aubert et al, 2022) and for non-deterministic models such as term rewriting systems (Avanzini et al, 2011(Avanzini et al, , 2015Avanzini & Moser, 2016).…”
Section: Related Workmentioning
confidence: 99%
“…This is (roughly) the study of measures or bounds on programs or computation states, such that only those programs having execution that terminates within the bound, are part of the characterization. This is a flourishing field, both for traditional programs (Bonfante et al, 2011;Aubert et al, 2022) and for non-deterministic models such as term rewriting systems (Avanzini et al, 2011(Avanzini et al, , 2015Avanzini & Moser, 2016).…”
Section: Related Workmentioning
confidence: 99%
“…3.3. The name alludes to its implementation language, Python, which we selected for its flexibility and use in previous related works [4,19,20]. Our tool takes as input a path to a C program, and returns for each function it contains a growth bound-if at least one can be established-or a list of variable dependencies that may cause the exponential growth .…”
Section: Technical Overview Of Pymwpmentioning
confidence: 99%
“…Our tool takes as input a path to a C program, and returns for each function it contains a growth bound-if at least one can be established-or a list of variable dependencies that may cause the exponential growth . 6 The pymwp development is open source [24] with releases published at Python Package Index (PyPI) [22], GitHub [24] and Zenodo [7]. A tool user guide is available at https://statycc.github.io/.github/pymwp/.…”
Section: Technical Overview Of Pymwpmentioning
confidence: 99%
See 2 more Smart Citations