| W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635--678, May 1998. |
....An example of such a formula is 8x; 9y : 3x y = 2 1 x y N . This tradeo allows for a large class of programs to represented (see section 3. 1) Furthermore, it is possible to calculate the reuse distance for these programs eciently, by means of existing tools to simplify the formulas[12] and count the number of solutions[5] 3.1 Program Model A number of de nitions needs to be stated here, in order to enable the concise and precise de nition of a program in the cache reuse distance calculation algorithm. De nition 4. A reference is a read or write instruction in the program ....
.... here: CAPM(A(K; L) f(K; L) BRD( r) CS (K; L) 2 reuse B (r)g = f(K; L) 2 1 CS 1 K L Ng COLDM(A(K; L) fg jCAPM(A(K; L) j = 2 if 2 1 CS 0 otherwise 4 Experiments The generation of the equations was implemented in the FPT compiler[16] The Omega library[12] was used to simplify the equations, the Polylib library[10] was used to count the number of solutions to the equations. A number of loop nests with di erent code structures were tested. The results from the analytical calculation were identical to cache simulation in all cases. Furthermore, it ....
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM TOPLAS, 20(3):635-678, May 1998.
....An example of such a formula is #x, #y : 3x y = 2 1 x y N . This tradeo# allows for a large class of programs to represented (see section 3. 1) Furthermore, it is possible to calculate the reuse distance for these programs e#ciently, by means of existing tools to simplify the formulas[12] and count the number of solutions[5] 3.1 Program Model A number of definitions needs to be stated here, in order to be able to concisely and precisely define a program in our cache reuse distance calculation algorithm. Definition 4. A reference is a read or write instruction in the program ....
.... code as in figures 3 and 4 is considered here: CAPM(A(K, L) L) BRD( r) K, L) L) 2 COLDM(A(K, L) CAPM(A(K, L) if 0 otherwise 4 Experiments The generation of the equations was implemented in the FPT compiler[16] The Omega library[12] was used to simplify the equations, the Polylib library[10] was used to count the number of solutions of the equations. A number of loop nests with di#erent code structures where tested. The results from the analytical calculation where identical to cache simulation in all cases. Furthermore, ....
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM TOPLAS, 20(3):635--678, May 1998.
....are possible, and the viewer will indicate the valid loop transformations. After the unimodular transformation, the new independent loop (either outermost or innermost) can be parallelized. The loop corresponding boundaries can calculated using integer programming tools like the Omega calculator [15]. In the case of linear array subscripts, a suitable loop transformation can be found automatically, based on the pseudo distance vectors as described in [22] This method is also implemented in the viewer and calculates the unimodular transformation and associated loop boundaries. 4.2 Loop ....
....symbolic n; IS1: i,j,k] 1 =i,j =n k=0 ; IS2: i,j,k] 1 =i,j =n k=1 ; T1: i,j,k] i j k,i,j] T2: i,j,k] i j k,i,j] codegen 0 T1:IS1,T2:IS2; Figure 6. The affine functions T1, T2 map two statements S1; S2 to their processor id. They are input to the Omega calculator [15], where IS1, IS2 are the iteration space constraint for S1; S2 respectively. The statement reordering mappings found by Lim [12] is on a 2 dimensional iteration space (i; j) while the unimodular mappings found by the ISV is on a 3 dimensional iteration space (i; j; k) which has a dimension ....
[Article contains additional citation context not shown here]
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Prog. Lang. and Sys., 20(3):635--678, May 1998.
....language that describes linear constraints between integer variables. It is more and more practically used in analyses as tools evolve. For example the tool Omega [48] based on polyhedral representations, was used e.g. in symbolic model checking [13] or constraint based array dependence analysis [49]. Presburger formulas can also be represented by automata [59] Some algebraic properties of Presburger arithmetic are studied in [12] to e.g. restrict specications to a fragment of the arithmetic so that analyses terminate (therefore there is no need to apply a widening) 4.2.3 Mixed ....
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635678, 1 May 1998.
.... in our approach the may alias relation is computed by using the related concept of state reachability (on finite state automata) Our approach has also connections with works rephrasing static analysis questions in terms of systems of constraints (such as the application of the Omega library in [PW98]) By using our tool, we were able to experiment with more precise may alias relations than are usually considered in intraprocedural analysis, allowing the study of programs including features such as pointer arithmetics, structures, dynamic allocation, multi level pointers and arrays. ....
W. Pugh and D. Wonnacott, Constraint-Based Array Dependence Analysis, ACM Transaction on Programming Languages and Systems, Vol. 20, n. 3, 1998, 635-678.
....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 ....
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Prog. Lang. and Systems, 3:635--678, May 1998.
....analysis, and one might think of adopting factored control ow graphs [9] for our analysis. 6.6 Arrays Arrays are treated as monolithic variables, and we do not distinguish between di erent array elements. One might think of integrating a ne grained array analysis, such as the Omega test [23]. However, ne grained array analysis may also reduce analysis precision in case of mixed co and contravariance. In Java, arrays are covariant: A B implies A[ B[ If Java would allow fully contravariant method overriding (which it does not) we would have 9 This transformation was ....
William Pugh and David Wonnacot. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635-678, May 1998. 43
....(The resulting code is shown in Figure 5. Figure 6 shows how the tiles of the code in Figure 5 group the loop iterations, for T = 6, N = 7, and s = 2 (as in [WL91, Figure 2] Each circle represents the execution of one iteration, and each arrow a value based ow dependence (a data ow) PW93, PW98] Tiles are indicated by dashed lines: all iterations for which ii = 0 are in the triangle at the lower left, those for which ii = 1 are in the trapezoid next to it, etc. Dependences constrain the order of execution of the tiles; we must execute them from lower left to upper right, as is done in ....
....execution of each statement is identi ed with a unique tuple of integers. For example, we can refer to the iteration of Figure 1 in which t = 3 and i = 7 as [3; 7] We can describe the set of all iterations with a set of constraints derived from the loop bounds and conditional expressions [PW93, PW98] for this example, f [ t; i ] j 0 t T 0 i N g: The integers in these tuples may correspond to the loop index values of surrounding loops (as above) or they may indicate which of several statements is being performed. For example, if there were two statements in this loop, we could ....
[Article contains additional citation context not shown here]
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems, 20(3):635-678, May
....lead to the restriction of many analysis and optimization techniques, such as constant propagation [Muc97] to scalar variables. A number of techniques have recently been developed for accurately describing the ow of values in array variables [Fea91, MAL92, TP92, PW93, PW94, Tu95, BCF97, GLL97, PW98, SK98] Of these, only the work of Sarkar and Knobe discussed the use of their analysis for constant propagation. Constant propagation provides two kinds of bene ts during optimization. It enables optimizations such as constant folding and algebraic simpli cation, which provide direct speedups. ....
....memory aliasing, but not the ow of values in array variables. More recent techniques have been developed to provide this value based dependence information about arrays. This section describes the representation produced by our algorithms for value based array dependence analysis [PW93, PW94, PW98] Most systems for analysis of scalars provide information about which de nitions reach which uses. To provide accurate information about arrays, we must also describe either (a) which loop iterations of the de nition and use are connected, or (b) which elements of the array carry the ow of ....
[Article contains additional citation context not shown here]
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems, 20(3):635-678, May 1998. http://www.acm.org/pubs/citations/journals/toplas/1998-20-3/p635-pugh/.
....skewing and tiling, described by Wolf and Lam [WL91, Wol92] but can be applied to programs with imperfectly nested loops (such as Figure 1) which cannot be handled by their system. It can be viewed as the application of these techniques to the inter iteration value based ow dependences [PW93, PW98] followed by a transformation of the mapping of values to memory; or as a combination of loop alignment, imperfectly nested loop interchange, loop skewing, and tiling, optionally followed by a memory transformation. In this article, we generalize time skewing for multiprocessor architectures. We ....
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems, 20(3):635-678, May 1998. http://www.acm.org/pubs/citations/journals/toplas/1998-20-3/p635-pugh/.
....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 balance) as ....
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Programming Languages and Systems, 20, may 1998. Available as http://www.haverford.edu/cmsc/davew/arrayanalysis /WhatHowWhy.ps.
No context found.
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635--678, May 1998.
No context found.
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Prog. Lang. and Systems, 3:635--678, May 1998.
No context found.
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635--678, May 1998.
No context found.
William Pugh and David Wonnacott, Constraint-based array dependence analysis, ACM Transactions on Programming Languages and Systems. 20 (1998), no. 3, 635-678.
No context found.
William Pugh and David Wonnacott, Constraint-based array dependence analysis, ACM Trans. on Prog. Lang. and Sys. 20 (1998), no. 3, 635-678.
No context found.
W. Pugh and D. Wonnacott. Constraint-based array dependence analysis. ACMTrans. on Prog. Lang. and Sys., 20(3):635 678, May 1998.
No context found.
William Pugh and David Wonnacott. Constraint-based array dependence analysis. ACM Trans. on Prog. Lang. and Sys., 20(3):635--678, May 1998.
No context found.
W. Pugh. Constraint-based array dependence analysis. ACM Transactions on Programming Languages and Systems, 20(3):635--678, May 1998.
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