Online dynamic dependence analysis for speculative polyhedral parallelization
2013 (English)In: Euro-Par 2013 Parallel Processing, Springer Berlin/Heidelberg, 2013, 191-202 p.Conference paper (Refereed)
We present a dynamic dependence analyzer whose goal is to compute dependencies from instrumented execution samples of loop nests. The resulting information serves as a prediction of the execution behavior during the remaining iterations and can be used to select and apply a speculatively optimizing and parallelizing polyhedral transformation of the target sequential loop nest. Thus, a parallel lock-free version can be generated which should not induce any rollback if the prediction is correct. The dependence analyzer computes distance vectors and linear functions interpolating the memory addresses accessed by each memory instruction, and the values of some scalars. Phases showing a changing memory behavior are detected thanks to a dynamic adjustment of the instrumentation frequency.
The dependence analyzer takes part of a whole framework dedicated to speculative parallelization of loop nests which has been implemented with extensions of the LLVM compiler and an x86-64 runtime system.
Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2013. 191-202 p.
, Lecture Notes in Computer Science, 8097
IdentifiersURN: urn:nbn:se:uu:diva-206800DOI: 10.1007/978-3-642-40047-6_21ISI: 000341243100021ISBN: 978-3-642-40046-9OAI: oai:DiVA.org:uu-206800DiVA: diva2:645482
Euro-Par 2013, August 26–30, Aachen, Germany