| D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, The University of Maryland, 1995. 4.1.3, 1 |
....containing a reading reference r, to compute the set of instances of all assignments S, such that there is a program path from an instance of S to the instance of R being free of any modification of r. These analyses are sometimes iterative [14] but more often based on integer linear programming [12, 25, 4]. A more comprehensive study is presented in [13] Notice that IRDAs handle any program, but a previous phase of the compiler is supposed to have eliminated gotos [3] perhaps at the cost of some code duplication in the rare cases where the control graph is not reducible [1] Arrays with any ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....exec denotes whether the iteration vector is in the iteration domain or not. On the other hand, in programs with nondeterministic control, we often lack precise compile time knowledge on exec. What we can often know, however, are relational properties, e.g. exec(hr; yi) exec(hs; xi) Recent work [40, 5] provides additional techniques to get more precise properties on exec. Point (b) again, needs a trick when compared to the classical setting. This was explained at the beginning of this section. Point (c) captures the fact that Statement s may access to an array with data dependent subscripts, ....
....software called PIP [16] based on the simplex, to directly compute max . ffl The execution of a simplified, efficient but not complete algorithm [31] The algorithm by Pugh was extended by Wonnacott and Pugh to handle arbitrary if conditions, arbitrary loop bounds and arbitrary array subscripts [33, 39, 40]. The same extension of Feautrier s technique was made by Barthou et al. 10, 6, 5] One way to speed up an IRDA is to stop the analysis when, for all y, the source of hr; yi is non empty. When going back to the control flow graph perspective , this makes much sense: When going upward the CFG, ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995. 17
....of a statement. This write is usually called the (reaching) definition of the read access the use. Any IRDA is suitable to our purpose, but Fuzzy Array Data flow Analysis (FADA) 2] is prefered since it handles any loop nest and achieves todays best precision. Value based dependence analysis [18] is also a good IRDA. In the following, function oe alternatively denotes the source function mapping read instances to their respective sets of reaching definitions, or the source relation between these read and write instances. On this example, assume that n is non negative, and that predicate ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....set of statements writing into the array read by R. We consider the set below: Q R ( y) S2S(R) fhS; xi j e(hS; xi) fS ( x) gR ( y) hS; xi OE hR; yig (11) How to handle predicate e(hS; xi) and how to make safe approximations on Q R ( y) has been the subject of several publications [1, 24] to which the reader is referred. The set RD(hR; yi) of reaching definitions is built from all definitions in Q R ( y) that are not killed : RD(hR; yi) fhS; xi j hS; xi 2 Q R ( y) 12) For practical reasons, we compute partial results for fixed statements S: RDS (hR; yi) fhS; xi j ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....possibly none. The practical RD has to be a relation: more than one definition may be considered to reach a given use. Notice also that RD should not be defined w.r.t. May: otherwise, the reaching definition information would be overly approximate. Indeed, one of the difficulties addressed in [4, 2, 28, 24] is to avoid this approximation. Conversely, it is easy to build an example where two instances v and w are such that v RD w and : v May w) A storage mapping f 0 e is called memory expansion of f e when it uses at least as much memory as f e . More precisely: Definition 3 (Expansion) For a ....
....one can find a static expansion which is also in single assignment form. Feautrier [14] coined the term static control programs for this class of programs. In the case of programs with general control and unrestricted arrays subscripts, array reaching definition analyses are approximate [9, 4, 2, 27, 28]: Several writes may be the unique definition of a given value, but the analysis cannot tell. 8] describes how to obtain a single assignment program at the price of dynamic restoration of data flow. Many studies are related to array privatization. As hinted above, Maydan et al. 20] proposed an ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995. 24
....the application of our algorithm to the code in Figure 4 is somewhat dicult. We therefore use the simpler onedimensional stencil calculation shown in Figure 3 to illustrate our approach, and then give a general formulation. We start by performing data ow analysis of the cur and old arrays [Fea91, PW93, Won95]. The result of this analysis is a graph of the ow of values through the iteration space, which we call the iteration space data ow graph. Each node represents a value produced by some iteration of some statement in the loop, and has incoming edges from the other nodes whose values that are used ....
David G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, Dept. of Computer Science, The University of Maryland, August 1995. Available as ftp://ftp.cs.umd.edu/pub/omega/davewThesis/davewThesis.ps. 12
....loop. The example in 5 section 2.3 shows that our method not only may expand along diagonals in the iteration space but may also do some blocking along these diagonals. In the case of programs with general control and unrestricted arrays subscripts, array data flow analyses are approximate [7, 10, 11]: Several writes may be the unique definition of a given value, but the analysis cannot tell. From the result of such an analysis, how to obtain a single assignment program to the price of dynamic restoration of data flows had been described in [8] 3 Static Expansion Let Omega be the set of all ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....procedure calls or multiple exits. Although the number of these loops is small, in most cases they significantly impact the overall execution time. For instance, all loops with multiple exits of the TRACK code amount for approximately 40 of the overall sequential execution time. D. Wonnacott [51] shows how to handle breaks from loops and gives rules for interprocedural analysis but apparently has not yet implemented these techniques. Except for Wonnacott s work and our symbolic evaluation framework we are not aware of any symbolic analysis technique that actually handles loops with ....
D. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....of a statement. This write is usually called the (reaching) definition of the read access the use. Any IRDA is suitable to our purpose, but Fuzzy Array Data flow Analysis (FADA) 2] is prefered since it handles any loop nest and achieves todays best precision. Value based dependence analysis [18] is also a good IRDA. In the following, function oe alternatively denotes the source function mapping read instances to their respective sets of reaching definitions, or the source relation between these read and write instances. On this example, assume that n is non negative, and that predicate ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....University of Passau, implements the scheduling algorithms proposed in [28] and [20] Moreover, Loopo is an excellent platform to compare scheduling techniques. The Omega project [43] is very similar in spirit to PAF. The findings of Pugh and Wonnacott on data flow analysis of general programs [57] are very close to ours, even though both results were achieved independently. Their analysis and scheduling techniques are based on the Omega Calculator [50, 43] But their mappings allow additional transformations such as loop fusion, loop distribution and statement reordering. We may roughly ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....of a statement. This write is usually called the (reaching) definition of the read access the use. Any IRDA is suitable to our purpose, but Fuzzy Array Data flow Analysis (FADA) 3, 2] is prefered since it handles any loop nest and achieves todays best precision. Value based dependence analysis [22] is also a good IRDA. In the following, function oe alternatively denotes the source function mapping read instances to their respective sets of reaching definitions, or the source relation between these read and write instances. Knowing (from additional static analyses) that W[k] is always ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....programs with general affine array subscripts [5, 6, 7] However, when general conditionals and while loops are to be taken into account, the exact set of run time computations obviously cannot be statically predicted. Array data flow analyses for these dynamic control programs have been proposed [8, 9, 10]. They are all based on a careful coding of possible execution paths as integer parameters or functions and return conservative sets of all possible sources, hence their name Fuzzy Array Data flow Analyses (FADAs) When addressing recursive programs, the same phenomena occur. In our previous work ....
D. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, U. of Maryland, 1995.
....exec denotes whether the iteration vector is in the iteration domain or not. On the other hand, in programs with nondeterministic control, we often lack precise compile time knowledge on exec. What we can often know, however, are relational properties, e.g. exec(hr; yi) exec(hs; xi) Recent work [47, 5] provides additional techniques to get more precise properties on exec. Point (b) again, needs a trick when compared to the classical setting. This was explained at the beginning of this section. Point (c) captures the fact that statement s may access to an array with data dependent subscripts, ....
....software called PIP [18] based on the simplex, to directly compute max . ffl The execution of a simplified, efficient but not complete algorithm [35] The algorithm by Pugh was extended by Wonnacott and Pugh to handle arbitrary if conditions, arbitrary loop bounds and arbitrary array subscripts [38, 46, 47]. The same extension of Feautrier s technique was made by Barthou et al. 11, 6, 5] One way to speed up an IRDA is to stop the analysis when, for all y, the source of hr; yi is non empty. When going back to the control flow graph perspective , this makes much sense: When going upward the CFG, it ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....to hS 1 ; x 0 i is: 9x 0 s:t: 1 x 0 n; x x 0 ; p(x 0 ) None of the constraints in the above formula is strong enough to fix the value of x 0 . Hence, the application of a function to a quantified variable cannot be avoided, and this is not handled by the Omega simplifier ([20], section 8.4.1) There are probably cases in which Pugh and Wonnacott s method may give more precise results than FADA. This is especially true since Wonnacott ( 20] Section 8.3.1) uses semantic knowledge to improve the selection of uninterpreted functions. This is an example of the mixed ....
..... Hence, the application of a function to a quantified variable cannot be avoided, and this is not handled by the Omega simplifier ( 20] section 8.4.1) There are probably cases in which Pugh and Wonnacott s method may give more precise results than FADA. This is especially true since Wonnacott ([20] Section 8.3.1) uses semantic knowledge to improve the selection of uninterpreted functions. This is an example of the mixed approach, in which an attempt is made to use all available information, whether syntactical or semantical, to improve the dependence calculation. This is clearly the road ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....set of statements writing into the array read by R. We consider the set below: Q R ( y) S2S(R) fhS; xi j e(hS; xi) fS ( x) gR ( y) hS; xi OE hR; yig (11) How to handle predicate e(hS; xi) and how to make safe approximations on Q R ( y) has been the subject of several publications [1, 24] to which the reader is referred. The set RD(hR; yi) of reaching definitions is built from all definitions in Q R ( y) that are not killed : RD(hR; yi) fhS; xi j hS; xi 2 Q R ( y) 12) 6 9hT; zi; hT; zi 2 Q R ( y) hS; xi OE hT; zig For practical reasons, we compute partial results ....
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
....(for the tile number) and mod (for the o set within the tile) In the rst transformation, the tiles are skewed; in the second, the tiles are not skewed, but the execution of iterations within each tile is. We can use the constraint manipulation techniques discussed by Pugh and Wonnacott [PW93, Won95] to check that the transformation does not violate any data dependences, and to apply the transformation to the set describing the iteration space. This transformed set can then be used as input to the code generation algorithms of Kelly et al. KPR95] The constraint manipulation and code ....
David G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, Dept. of Computer Science, The University of Maryland, August 1995. Available as ftp://ftp.cs.umd.edu/pub/omega/davewThesis/davewThesis.ps.
....3) But there is no point in trying to optimize the body of a loop if it will not be executed. If we examine every dependence that is conditional in this sense, there will be far too many of these false alarms. We solve this problem of false alarms by introducing the gist operation [Pugh and Wonnacott 1995a] The gist of a set of constraints p with respect to a set of given constraints q is a simple system of constraints such that (gist p given q) q j pq. Informally, we think of gist p given q as the conditions that are interesting in p given that q holds. The following examples illustrate our use ....
....above (or below) by any other constraint, then that constraint cannot be redundant) In practice, we find that almost all the constraints produced during our analysis are classified by our quick tests, and we rarely have to resort to satisfiability tests. Our general gist algorithm (given in Wonnacott [1995]) applies the algorithm above to pairs of conjuncts, one from from p and one from q. Thus, gists involving two large disjunctions could be very expensive. However, during dependence analysis, we split dependence relations according to the loop that carries the dependence (e.g. a dependence that ....
[Article contains additional citation context not shown here]
Wonnacott, D. G. 1995. Constraint-based array dependence analysis. Ph.D. thesis, Dept. of Computer Science, The University of Maryland. Available as ftp://ftp.cs.umd.edu/pub/omega/davewThesis/davewThesis.ps.
....In this case, our memory based dependence relations contain function symbols, and our value based dependences may be approximate. Many of our relational operations may be forced to produce approximate results when operating on relations with function symbols. For details, refer to [PW93, PW94, Won95] 3 Dead Code Elimination We generalize the technique of dead code elimination [Muc97] by searching not for statements that produce a value that is never used, but for iterations that do so. We can describe a set using the notation of Section 2, as a relation with no output variables. For ....
....de nes one value per iteration for a given procedure parameter. We collect information about parameters from all call sites, reshaping parameters as necessary (we require that all dimensions are known at compile time, in which case reshaping is a simple application of our relational operations [Won95] If all call sites have been processed and agree on the sets of elements that are constant (and their values) we use this information. In other situations, we can either perform analysis in cases (if the results allow for di erent optimizations, procedure cloning [Muc97] can be used to produce ....
David G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, Dept. of Computer Science, The University of Maryland, August 1995. Available as ftp://ftp.cs.umd.edu/pub/omega/davewThesis/davewThesis.ps.
....to produce scalable locality. We identify a class of calculations for which existing techniques do not generally produce scalable locality, and give an algorithm for obtaining scalable locality for a subset of this class. Our techniques make use of value based dependence relations [PW93, Won95, PW98] which provide information about the ow of values in individual array elements among the iterations of a calculation. We initially ignore issues of cache interference and of spatial locality, and return to address these issues later. We de ne the balance of a calculation (or compute ....
....algorithm itself. 3. 1 The Domain of Our Algorithm As with any time step calculation, all loop carried data ow must come from the previous iteration of the time loop (in TOMCATV, the t loop) Note that the j and i loops of the second nest (the determine maximum nest) carry reduction dependences [Won95] and do not inhibit time skewing. The j loops in the fourth and sixth nests (the two dimensional loops under solve tridiagonal ) do carry data ow, so these at rst appear to prevent application of time skewing. However, we can proceed with the algorithm if we treat each column of each array as ....
David G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, Dept. of Computer Science, The University of Maryland, August 1995. Available as ftp://ftp.cs.umd.edu/pub/omega/davewThesis/davewThesis.ps.
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, The University of Maryland, 1995. 4.1.3, 1
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995. 24
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, University of Maryland, 1995.
No context found.
D. G. Wonnacott. Constraint-Based Array Dependence Analysis. PhD thesis, The University of Maryland, 1995. 4.1.3, 1
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC