Downloads provided by UsageCounts
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 unknown statically or at compile time, or more generally if the loop is not in canonical form or contains loop-carried dependency. As contributions we deliver the computational technique, proof of its preservation of semantic correctness, and experimental results to quantify the expected performance gains. We also show that many comparable tools cannot distribute the loops we optimize, and that our technique can be seamlessly integrated into compiler passes or other automatic parallelization suites.
Automatic Parallelization, Program Transformation, Program Analysis, [INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO], Dependency Analysis, Abstract Interpretation, [MATH.MATH-LO] Mathematics [math]/Logic [math.LO], Analysis and Verification of Parallel Program, Loop Transformation, [INFO] Computer Science [cs], Loop Optimization, dissemin, [INFO.INFO-FL] Computer Science [cs]/Formal Languages and Automata Theory [cs.FL]
Automatic Parallelization, Program Transformation, Program Analysis, [INFO.INFO-LO] Computer Science [cs]/Logic in Computer Science [cs.LO], Dependency Analysis, Abstract Interpretation, [MATH.MATH-LO] Mathematics [math]/Logic [math.LO], Analysis and Verification of Parallel Program, Loop Transformation, [INFO] Computer Science [cs], Loop Optimization, dissemin, [INFO.INFO-FL] Computer Science [cs]/Formal Languages and Automata Theory [cs.FL]
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 34 | |
| downloads | 16 |

Views provided by UsageCounts
Downloads provided by UsageCounts