Automatic speculative parallelization of loops using polyhedral dependence analysis

  • Authors:
  • Arnamoy Bhattacharyya;José Nelson Amaral

  • Affiliations:
  • University of Alberta, Edmonton, Canada;University of Alberta, Edmonton, Canada

  • Venue:
  • Proceedings of the First International Workshop on Code OptimiSation for MultI and many Cores
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Speculative Execution (SE) runs loops in parallel even in the presence of a dependence. Using polyhedral dependence analysis, more speculation candidate loops can be discovered than normal OpenMP parallelization. In this research, a framework is implemented that can automatically perform speculative parallelization of loops using Polly's [15] polyhedral dependence analysis. The framework uses two different heuristics to find speculation candidates. The first heuristic allows loops with only may dependences to run speculatively in parallel while the second heuristic filters out cold loops and, using profile information, loops with actual run time dependences. The framework is fully automatic. Running SPEC2006 and the PolyBench/C benchmarks on the IBM BlueGene/Q [16] machine shows that the framework is able to discover more parallelization candidates than OpenMP parallelization and achieve better speedup.