Skip to Main Content
An approach permitting loops with non-uniform dependences to be parallelized is presented. It does not require loop-carried dependences to be uniformized. Firstly, all the loop iterations are executed in parallel despite the presence of loop carried dependences, next all the sinks of the pairs of dependent iterations are re-executed to get correct results. A modification of this approach divides the iteration space into two sets. The first one includes independent iterations as well as all the sources of the pairs of dependent iterations that simultaneously are not the sinks of those. All iterations of this set can be executed in parallel. The second set holds all the sinks of the pairs of dependent iterations. The iterations of this set must be executed serially in lexicographical order. The approaches proposed have been implemented by means of the Omega calculator. Experimental results illustrate the scope of the approaches applicability.