A simple and general approach to parallelize loops with arbitrary control flow and uniform data dependence distances
Loop distribution is applied to exploit the parallelism to loops. For loops with dependence cycle(s) involving all of the statements embedded in control flow, previous methods have significant restrictions. In this paper, an algorithm is proposed to exploit the parallelism for loops under arbitrary control flow and uniform dependence distances. Experiments with benchmark cited from Vector loops, Parallel loops and Livermore loops showed that between 170 subroutines and 24 kernels tested 11 subroutines and 2 kernels had their parallelism exploited by our proposed method.
parallelizing and vectorizing compilers data dependence analysis control dependence analysis loop optimization supercomputing