Online dynamic dependence analysis for speculative polyhedral parallelization

  • Authors:
  • Alexandra Jimborean;Philippe Clauss;Juan Manuel Martinez;Aravind Sukumaran-Rajam

  • Affiliations:
  • UPMARC, University of Uppsala, Sweden;Team CAMUS, INRIA, ICube lab., University of Strasbourg, France;Team CAMUS, INRIA, ICube lab., University of Strasbourg, France;Team CAMUS, INRIA, ICube lab., University of Strasbourg, France

  • Venue:
  • Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a dynamic dependence analyzer whose goal is to compute dependences 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.