BibTeX

Years of Citing Articles

Bookmark

OpenURL

Abstract

In this paper, we propose a new statement re-ordering algorithm for DOACROSS loops that overcomes some of the problems in the previous schemes. The new algorithm uses a hierarchical approach to locate strongly dependent statement groups and to order these groups considering critical dependences. A new optimization problem, dependence covering maximization, which was not discussed before is also introduced. It is shown that this optimization problem is NP-complete, and a heuristic algorithm is incorporated in our algorithm. Run-time complexity analysis is given for both algorithms. This new statement re-ordering scheme, combined with the dependence covering maximization, can be an important compiler optimization to parallelize loop structures for large scale coarse and fine grain parallelism. Keywords: Compiler Optimization, Data Dependence, Doacross Execution, Redundant Synchronization Elimination, Statement Re-ordering. This work was supported in part by the National Science Foundat...

...proceeds recursively. PSCC Identification. PSCCs are strongly connected subgraphs within a strongly connected graph such that they partition the original graph. In the main algorithm, we use Tarjan's =-=[9]-=- Input:: a dependence graph from a DOACROSS loop. Output:: a statement order with minimized delay and maximized dependence covering. Algorithm HS begin normalize the dependence graph; find SCCs; if th...

... an expression alters the course of execution, and later statements are said to be &quot;control-dependent&quot; on the expression. There are techniques that transform control dependences into data de=-=pendences [1]-=-. Therefore, in this paper we focus only on data dependences. Dependences can also be classified as loop-independent or loop-carried. Basically, loop-independent dependencesoccur between statement ins...

...One kind of DO loop, the DOALL loops, do not have loop-carried dependences, and it is relatively easy to obtain the desired speedup. On the other hand, it is much harder to parallelize DOACROSS loops =-=[8, 6]-=-, which contain loop-carried dependences. 1 Loop-carried dependencescan be categorized as lexically forwardsand lexically backward. One advantage of the MIMD (multiple-instruction-multiple-data) machi...

...hrough statement re-ordering. By making more dependences covered by others, more synchronization becomes &quot;redundant&quot; and therefore can be eliminated without affecting the correctness of the =-=execution [7, 4]-=-. This work was supported in part by the National Science Foundation under Grant Nos. NSF MIP-8920891, NSF MIP-9307910, and the U.S. Department of Energy, Grant No. DOE DE-FG02-85ER25001. 1 The defini...

...hrough statement re-ordering. By making more dependences covered by others, more synchronization becomes &quot;redundant&quot; and therefore can be eliminated without affecting the correctness of the =-=execution [7, 4]-=-. This work was supported in part by the National Science Foundation under Grant Nos. NSF MIP-8920891, NSF MIP-9307910, and the U.S. Department of Energy, Grant No. DOE DE-FG02-85ER25001. 1 The defini...

... routines developed at Argonne National Laboratory to solve eigenvalues and eigenvectors). We randomly chose one test driver routine chtest.f and used a source-level performance analysis tool, MaxPar =-=[3]-=-, to obtain loop-carried flow dependence information. 3 A dependence graph from each inner loop was constructed from its intermediate form by an experimental optimizing compiler and was augmented with...

...One kind of DO loop, the DOALL loops, do not have loop-carried dependences, and it is relatively easy to obtain the desired speedup. On the other hand, it is much harder to parallelize DOACROSS loops =-=[8, 6]-=-, which contain loop-carried dependences. 1 Loop-carried dependencescan be categorized as lexically forwardsand lexically backward. One advantage of the MIMD (multiple-instruction-multiple-data) machi...

...nces (hence, no restriction on its statement ordering), the delay minimization problem is NP-complete [6]. There are two heuristics algorithms proposedby Cytron [6] and by Anderson,Munshi, and Simons =-=[2]-=-. These algorithms basically havetwo phases. In the first phase, the graph is partitioned and the partitions are then ordered. In the second phase, statements within each partition are ordered. The id...