Non-uniform dependences partitioned by recurrence chains

Non-uniform distance dependences in loop nests are a known obstacle to find parallel iterations. To find the outermost loop parallelism in these ``irregular" loops, a novel methods is presented based on recurrence chains. The scheme organizes non-uniformly dependent iterations into lexicographically ordered monotonic chains. While the initial and final iteration of monotonic chains form two parallel sets, the remaining iterations form an intermediate set that can be partitioned further. When there is only one pair of coupled array references, the non-uniform dependences are represented by a single recurrence equation. In that case, the chains in the intermediate set do not bifurcate and each can be executed as a WHILE loop. The independent iterations and the initial iterations of monotonic dependence chains constitute the outermost parallelism. The proposed approach compares favorably with other treatments of non-uniform dependences in the literature. When there are multiple recurrence equations, a dataflow parallel execution can be scheduled using the technique extensively to find maximum loop parallelism.

The paper accepted by the ICPP 2004 conference can be downloaded, Here is the presentation.

Related tools are our ISV loop parallelism visualization tool, the XML extension to the FPT compiler and the Omega Calculator for integer programming (University of Maryland).