39 citations found. Retrieving documents...
D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing, pages 434--448, August 1992.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

On the Automatic Parallelization of the Perfect Benchmarks - Eigenmann, Hoeflinger, Padua (1994)   (17 citations)  (Correct)

....Several papers are directly related to the techniques discussed here. Early results of the presented work [EHLP91] have led to new efforts elsewhere, such as the work on techniques for handling general forms of induction variables [Wol92, HP93] and for analyzing privatizable arrays [Li92, MAL92] There also has been significant new work in data dependence analysis for parallelizing compilers, including techniques for more exact subscript analysis [Pug92] more efficient analysis in practical situations [MHL91, GKT91] and enhancing tests with symbolic analysis capabilities [HP91] In ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. Proc. of the 5th Workshop on Languages and Compilers for Parallel Computing, August 1992.


The R-LRPD Test: Speculative Parallelization of Partially.. - Dang, Yu, Rauchwerger   (Correct)

....e.g. many temporary variables. A reduction variable is a variable used in one operation of the form x = x exp, where is an associative and commutative operator and x does not occur in exp or anywhere else in the loop. There are known transformations for implementing reductions in parallel [16, 9, 7]. 3 an element on a processor will not cause a change in the shadow arrays. The array A is first privatized. Read first references will copy in on demand the content of the shared array A. Array B, which is not tested (it is statically analyzable) is checkpointed. The result of the marking ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Run-time Parallelization Techniques for Sparse Applications - Lawrence   (Correct)

....after the parallel execution, then there is at least one output dependence (some element is overwritten) however, if A is privatizable (i.e. if any(A np ( is false) then these dependencies were removed by privatizing A. There are known transformations for implementing reductions in parallel [20, 19, 18, 7, 5]. 2 any returns the OR of its vector operand s elements, i.e. any(v(1 : n) v(1) v(2) v(n) 2.2 Overhead of the LRPD test for Dense Access Patterns The overhead spent performing the LRPD test scales well with the number of processors and data set size of the parallelized loop. ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Fractal Symbolic Analysis for Program Transformations - Nikolay Mateev Vijay (2000)   (Correct)

....in both programs. Intuitively, the constraints imposed on transformations by dependence analysis are sufficient but not strictly necessary to guarantee that transformations do not change the meaning of the program. A more precise variation of dependence analysis is value based dependence analysis [8, 17, 19]. While standard, or memory based dependence analysis considers statements that touch the same memory location, value based dependence analysis also requires that there are no intervening writes so that the statements touch the same value. Even though value based dependence analysis is less ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing, pages 434--448, August 1992.


The LRPD Test: Speculative Run-Time Parallelization of.. - Rauchwerger, Padua (1995)   (57 citations)  (Correct)

....two important and effective transformations can be applied to the loop: privatization and reduction parallelization. Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g. [10, 20, 21, 31, 32]) The loop shown in Fig. 1(b) is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S2 of iteration and statement S1 of iteration , for 426 , can be removed by privatizing the temporary variable tmp. In this ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Run-Time Methods for Parallelizing Partially Parallel Loops - Rauchwerger, Amato, Padua (1995)   (18 citations)  (Correct)

....types of dependences two transformations can be applied to the loop: privatization and reduction parallelization. Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g. [7, 18, 19, 31]) The loop shown in Figure 1(a) is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S2 of iteration and statement S1 of iteration , for 73 3904 , can be removed by privatizing the temporary variable tmp. In this ....

D. E.Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proc. 5th Workshop on Programming Languages and Compilers for Parallel Computing, Aug. 1992.


Automatic Vectorization of Communications for Data-Parallel.. - Germain, Delaplace (1995)   (Correct)

....t s Bi b = P t 0 s 0 Valid solution must verify ae Ci c s 0 2 P We defer the solution to the next section, and we first discuss the relationship of code generation with an extensively studied topic, scanning polyhedra. All algorithms are variants of Fourier Motzkin elimination ( 1] [10] and [11] 8] In any case, their complexity is exponential in the number of integer inequations to solve. Clearly, the code generation problem may be restated as a polyhedron scanning problem. For instance, Compute(s) may be rewritten as the polyhedron in Z n Theta Z n : f(t; i)jBi = P t ....

....only some variables (t for Compute(s) s 0 and t for Send(s) we need to enumerate the projection of a convex polyhedron, which is not always convex. Many libraries are available for this kind of loop generation, such as the Omega Calculator [11] and the SUIF Linear Inequality Calculator (LIC) [10]. However, if these tools scan very efficently the polyhedra created by a block distribution, they generate very poor code or are oveflowed in the cyclic case. For instance, Compute(s) of the previous example is defined by f(t 1 ; t 2 ; i)ji = 4t 1 s 1 ; i = 8t 2 s 2 ; 0 i ng ; and the ....

D.E. Maydan, S.P. Amarasinghe, and M.S. Lam. Data dependence and dataflow analysis of arrays. In 5th Work. on Languages and Compilers for Parallel Computing, pages 283--292, 92.


SUIF Explorer: An Interactive and Interprocedural Parallelizer - Liao (2000)   (31 citations)  (Correct)

....it in Section 5.3. Next, we apply the algorithms to privatization, data decomposition, and array contraction in Section 5.4, 5.5, and 5.6, respectively. We discuss the related work in Section 5.7 and summarize the chapter in Section 5.8. 5.1. Uses of Liveness Analysis Array data flow analysis[82][83][84] determines whether the value of an array element update is used by another read operation; whereas the more commonly used array data dependence analysis determines only whether two operations use the same locations. Feautrier shows that for programs, whose loop bounds and array indices are ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. "Data dependence and dataflow analysis of arrays." In Proceedings of the Fifth Workshop on Languages and Compilers for Parallel Computing, New Haven, CT, August 1992. SpringerVerlag Lecture Notes in Computer Science. 139


The LRPD Test: Speculative Run-Time Parallelization of.. - Rauchwerger, Padua (1995)   (57 citations)  (Correct)

....two important and effective transformations can be applied to the loop: privatization and reduction parallelization. Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g. [10, 21, 22, 32, 33]) The loop shown in Fig. 1(b) is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S2 of iteration i and statement S1 of iteration i 1, for 1 i n=2, can be removed by privatizing the temporary variable tmp. In this paper, ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings5th Workshopon Programming Languages and Compilers for Parallel Computing, August 1992.


Principles of Speculative Run-time Parallelization - Patel, Rauchwerger (1998)   (Correct)

....temporary variables. A reduction variable is a variable used in one operation of the form x = x Omega exp, where Omega is an associative and commutative operator and x does not occur in exp or anywhere else in the loop. There are known transformations for implementing reductions in parallel [26, 15, 13]. marked if the corresponding element in A is both read and written, and is read first, in any iteration. A post execution analysis, illustrated in Fig. 1(c) determines whether there were any cross iteration dependencies between statements referencing A as follows. If any(A w ( A r ( 2 ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and dataflow analysis of arrays. In Proc. 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Implementation Issues of Loop-level Speculative Run-time.. - Patel, Rauchwerger (1999)   (1 citation)  (Correct)

....temporary variables. A reduction variable is a variable used in one operation of the form x = x Omega exp, where Omega is an associative and commutative operator and x does not occur in exp or anywhere else in the loop. There are known transformations for implementing reductions in parallel [26, 15, 13]. used to flag the elements of A that cannot be privatized: an element in A np is marked if the corresponding element in A is both read and written, and is read first, in any iteration. A post execution analysis, illustrated in Fig. 1(c) determines whether there were any cross iteration ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and dataflow analysis of arrays. In Proc. 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


The LRPD Test: Speculative Run-Time Parallelization of.. - Rauchwerger, Padua (1995)   (57 citations)  (Correct)

....and effective transformations can be applied to the loop: privatization and reduction parallelization. Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g. 11] 23] [24], 39] 40] The loop shown in Fig. 1(b) is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S2 of iteration i and statement S1 of iteration i 1, for 1 i n=2, can be removed by privatizing the temporary variable tmp. In ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Run-Time Parallelization: It's Time Has Come - Rauchwerger (1998)   (3 citations)  (Correct)

.... ffl reduction parallelization Privatization can remove certain types of anti and output dependences by creating, whenever allowed, for each processor cooperating on the execution of the loop, private copies of program variables that give rise to anti or output dependences (see, e.g. [34, 10, 27, 28, 45, 46]) The loop shown in Fig. 1(b) which, for even values of i, swaps A[i] with A[i Gamma 1] is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S1 of iteration i and statement S2 of iteration i 1, for 1 i n=2, can be removed ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proceedings 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Techniques for Reducing the Overhead of Run-time Parallelization - Yu, Rauchwerger   (Correct)

....temporary variables. A reduction variable is a variable used in one operation of the form x = x Omega exp, where Omega is an associative and commutative operator and x does not occur in exp or anywhere else in the loop. There are known transformations for implementing reductions in parallel [6, 17, 8]. 2 any returns the OR of its vector operand s elements, i.e. any(v(1 : n) v(1) v(2) v(n) is not equal to Atm, the total number of marks computed after the parallel execution, then there is at least one output dependence (some element is overwritten) however, if A is ....

D. E. Maydan et. al. Data dependence and data-flow analysis of arrays. In Proc. 5th Workshop on Languages and Compilers for Parallel Computing, Aug. 1992.


Removal of Memory Access Bottlenecks for Scheduling.. - Srivaths Ravi Ganesh   (Correct)

.... Data dependency testing is undecidable in general [1] and NP complete for a restricted domain [2] Past research has yielded mathematical frameworks for analyzing data dependencies [1, 3] which are in general accurate, but hard to use, except for programs without significant control flows [4]. Data dependency has also received attention in the area of speculation for instruction level parallel processors. Speculation allows for an early execution of an instruction before a preceding instruction on which it may be datadependent. If the instruction is independent, speculation succeeds. ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam, "Data dependence and data-flow analysis of arrays," in Proc. 5th Int. Wkshp. on Languages and Compilers for Parallel Computing, 1992.


An Empirical Study of Precise Interprocedural Array Analysis - Hind, Burke, Carini.. (1994)   (8 citations)  (Correct)

....default. For our experi2 Although a general Loop Distribution algorithm has been implemented in ptran [32] its interface with the cost model is not complete. Thus, it is not included in this experiment. 3 This is not as powerful as the element level data flow analysis for arrays described in [21, 40, 45, 51]. ments we implemented two additional levels of interprocedural analysis. The levels of interprocedural analysis are: Pessimistic: No interprocedural information is known. To uphold safety, all globals and formal parameters are assumed to be both modified and used by a called routine. Likewise, ....

....is required, fida can be used to capture precise interprocedural information. Some other applications are: ffl analysis to reduce communication costs in distributed memory machines [37, 38, 26] ffl automatic data partitioning for distributed memory machines [25] ffl array privatization [21, 40, 45], 6 Their original work incorrectly reported 2 additional loops in ssifa as being parallel without loop distribution [41] ffl analysis of locality to benefit cache performance [23, 53] Determining the effectiveness and efficiency of these applications of fida. Acknowledgements The authors ....

Dror E. Maydan, Saman P. Amarasighe, and Monica S. Lam. Data Dependence and Data-Flow Analysis of Arrays. In 5th Workshop on Languages and Compilers for Parallel Computing, pages 283--292. Yale University, August 1992. YALEU/DCS/RR-915.


Static Analysis of Upper and Lower Bounds on Dependences and.. - Pugh, Wonnacott (1994)   (12 citations)  (Correct)

....control flow constructs other than normalized for loops, and in which all subscripts and loop bounds are linear. Even within this domain, all previous methods [Bra88, Static Analysis of Upper and Lower Bounds on Dependences and Parallelism Delta 5 Fea88, GS90, Ros90, Rib90, Fea91, PW92b, Li92, MAL92, May92, MAL93, DGS93] only calculate an upper bound on the value based flow dependences, although one of these methods [Fea91] fails to give exact bounds only in extremely pathological cases. The method we describe in Section 3.5 is exact within this limited domain, and can be applied to programs ....

....of recognizing when their results are exact, but do not describe any methods for computing lower bounds on dependences when they are not exact. There are a number of papers on techniques to analyze array kills and value based array data dependence [Bra88, Fea88, GS90, Ros90, Rib90, Fea91, Li92, MAL92, May92, MAL93, DGS93, Mas94] Of these, only the technique we describe here and that of Feautrier [Fea88, Fea91] and of Maslov [Mas94] are complete over the domain of affine expressions and no control flow other than loops. The techniques Static Analysis of Upper and Lower Bounds on Dependences ....

[Article contains additional citation context not shown here]

Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing (Yale University tech. report YALEU/DCS/RR-915), pages 283--292, August 1992.


An Exact Method for Analysis of Value-based Array Data.. - Pugh, Wonnacott (1993)   (28 citations)  (Correct)

.... however no other work is complete over the same domain as Feautrier s, with the exception of recent work by Maslov [Mas94] Some of these other methods handle larger domains (such as complicated control flow) but are not complete within that domain [Bra88, Rib90, GS90, Ros90, Li92, Fea91, MAL92, MAL93, DGS93] We describe an extension of our previous work on dependence analysis [Pug92, PW92] This extension makes us complete over the same domain as Feautrier s technique, and produces the same information (although using a different computational method and a different dependence ....

Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing (Yale University tech. report YALEU/DCS/RR-915), pages 283--292, August 1992.


Going beyond Integer Programming with the Omega Test to.. - Pugh, Wonnacott (1992)   (14 citations)  (Correct)

....difference distance is not sufficient to check for the legality of loop fusion or interchange of imperfectly nested loops. Although some researchers have suggested more exact dependence abstractions that describe exactly which pairs of iterations are involved in a dependence [Pug91, Fea91, MAL92] we limit our discussion in this paper to dependence difference abstractions. 3 Extending the Omega test The Omega test [Pug92] is an integer programming algorithm based on Fourier Motzkin variable elimination. The basic operation supported by the Omega test is projection. Intuitively, the ....

....and finally refine the remaining dependences. 4. 7 Related Work In analyzing false array flow data dependences (caused by output dependences) there are two basic approaches: ffl Extend the pair wise methods typically used for array data dependence to recognize array kills [Bra88, Rib90, Fea91, MAL92, MAL93] ffl Extend scalar dataflow methods by recording which array sections are killed and or defined [GS90, Ros90, Li92] Both approaches have merits. Our work is an example of the first approach, and we believe it corrects several limitations and flaws in earlier work on that approach. ....

[Article contains additional citation context not shown here]

Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing (Yale University tech. report YALEU/DCS/RR-915), pages 283--292, August 1992.


The Privatizing DOALL Test: A Run-Time Technique for DOALL.. - Rauchwerger, Padua (1994)   (23 citations)  (Correct)

....remove certain types of anti and output dependences a transformation called privatization can be applied to the loop. Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g. [7, 14, 15, 25, 26]) The loop shown in Fig. 1(b) which, for even values of i, swaps A[i] with A[i Gamma 1] is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S4 of iteration i and statement S2 of iteration i 1, for 1 i n=2, can be removed ....

....memory locations (e.g. elements of the array) that are written in the loop. If only the elements that are written are privatized, it is possible that this technique might yield performance gains over traditional compile time privatization techniques, which usually privatize the entire array [14, 15, 25, 26]. In fact, if the data access pattern is sparse enough, it is even conceivable that the reduction in the size of the working set could lead to superlinear speedups due to cache effects. If it is decided to privatize only the elements that are written, then the private variables can be allocated as ....

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In Proc. 5th Workshop on Programming Languages and Compilers for Parallel Computing, August 1992.


Going beyond Integer Programming with the Omega Test to.. - Pugh, Wonnacott (1992)   (14 citations)  (Correct)

....ms on a SPARC IPX workstation ( PW92a, PW92b] 4. 8 Related Work In analyzing false array flow data dependences (caused by output dependences) there are two basic approaches: ffl Extend the pair wise methods typically used for array data dependence to recognize array kills [Bra88, Rib90, Fea91, MAL92, MAL93] ffl Extend scalar dataflow methods by recording which array sections are killed and or defined [GS90, Ros90, Li92] Both approaches have merits. Our work is an example of the first approach, and we believe it corrects several limitations and flaws in earlier work on that approach. 4.8.1 ....

....read of an array element, he determines the precise statement and iteration which wrote the value. His methods are much more expensive than ours (about 100 Theta more expensive) and work only for programs with a special static control structure (defined in [Fea91] Maydan, Amarasinghe, and Lam ( MAL92, MAL93] provide an efficient way of generating the information produced by Feautrier s technique under specific conditions. They also present evidence that and show that these specific conditions are frequently satisfied in real programs. Voevodin and Voevodin ( Voe92a] Voe92b] have also done ....

Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing (Yale University tech. report YALEU/DCS/RR-915), pages 283--292, August 1992.


Fractal Symbolic Analysis for Program Transformations - Mateev, Menon, Pingali (2000)   (Correct)

No context found.

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Data dependence and data-flow analysis of arrays. In 5th Workshop on Languages and Compilers for Parallel Computing, pages 434--448, August 1992.


The LRPD Test: Speculative Run-Time Parallelization of.. - Rauchwerger, Padua (1999)   (57 citations)  (Correct)

No context found.

# D.E. Maydan, S.P. Amarasinghe, and M.S. Lam, "Data Dependence and Data-Flow Analysis of Arrays," Proc. Fourth Workshop Programming Languages and Compilers for Parallel Computing, Aug. 1992.


On the Automatic Parallelization of the Perfect.. - Eigenmann, Hoeflinger.. (1998)   (17 citations)  (Correct)

No context found.

D.E. Maydan, S.P. Amarasinghe, and M.S. Lam, "Data Dependence and Data-Flow Analysis of Arrays," Proc. Fifth Workshop Languages and Compilers for Parallel Computing, Aug. 1992.


Run-Time Methods For Parallelizing Do Loops - Rauchwerger, Padua   (Correct)

No context found.

D. E. Maydan, S. P. Amarasinghe, and M. S. Lam, Data dependence and data-flow analysis of arrays, In Proc. 5th Wk. Prog. Lang. Compil. Parall. Comput., 1992.

First 50 documents

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