9 citations found. Retrieving documents...
J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, NC, August 1998. Springer-Verlag.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Parallelization via Constrained Storage Mapping Optimization - Cohen (1999)   (7 citations)  (Correct)

....copy of the datum on each processor, enhancing parallelism. This technique is known as array privatization [17, 14, 6] and is extremely important to parallelizing compilers. In the extreme case, each memory location is written at most once, and the program is said to be in single assignment form [5]. Unfortunately, when the control flow cannot be predicted at compile time, some run time computation is needed to preserve the original data flow: Similarly to the classic static singleassignment framework, OE functions may be needed to merge multiple reaching definitions, i.e. possible data ....

....produces an expanded program whose data layout is compatible with the partial execution order OE . We are assured that with these new data, the original program semantic will be preserved in the parallel version. Eventually, there are several methods to compute OE functions at run time [4, 5]. They all relies on an array Last of operations, unifying arrays from [12] and Last functions from [10] See [5] for details. 6 Conclusion and Perspectives Expanding data structures is a classical optimization to cut memory based dependences. The questions are (1) What is the good expansion ....

[Article contains additional citation context not shown here]

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. Springer-Verlag. To appear in Dec. 98.


Parallelization via Constrained Storage Mapping Optimization - Cohen (1999)   (7 citations)  (Correct)

....copy of the datum on each processor, enhancing parallelism. This technique is known as array privatization [17, 14, 6] and is extremely important to parallelizing compilers. In the extreme case, each memory location is written at most once, and the program is said to be in single assignment form [5]. Unfortunately, when the control flow cannot be predicted at compile time, some run time computation is needed to preserve the original data flow: Similarly to the classic static singleassignment framework, OE functions may be needed to merge multiple reaching definitions, i.e. possible data ....

....produces an expanded program whose data layout is compatible with the partial execution order OE 0 . We are assured that with these new data, the original program semantic will be preserved in the parallel version. Eventually, there are several methods to compute OE functions at run time [4, 5]. They all relies on an array Last of operations, unifying arrays from [12] and Last functions from [10] See [5] for details. 6 Conclusion and Perspectives Expanding data structures is a classical optimization to cut memory based dependences. The questions are (1) What is the good expansion ....

[Article contains additional citation context not shown here]

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. Springer-Verlag. To appear in Dec. 98.


Optimization of Storage Mappings for Parallel Programs - Cohen, Lefebvre (1998)   (6 citations)  (Correct)

....reuse are removed. Reaching definition analysis is at the core of single assignment algorithms since it allows to find where values are stored in the expanded data structures. However, when the flow of data is unknown at compiletime, OE functions are introduced for run time restoration of values [7, 5]. Figure 2 shows program KP converted to SA form, using the result of IRDA. The unique OE function implements a run time choice between values produced by hS; k; 0i; hS; k; j Gamma 1i. Eventually, in this particular case, function OE is really easy to compute: The value of A[j W[k] has ....

....order, instead of finding a universal storage compatible with any execution order. This is done in [16] for affine (a.k.a. static control) loop nests only. The contributions of this paper are the following: ffl Present a robust algorithm for partial expansion. It is adapted from the algorithm in [5], with reduced run time overhead, and generalization to unrestricted array subscripts. Conversion to SA form is then a specialization of this algorithm. ffl Formalize the correctness of a storage mapping, according to a given parallel execution order. ffl Show that universal storage mappings ....

[Article contains additional citation context not shown here]

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. Springer-Verlag. To appear in Dec. 98.


Maximal Static Expansion - Barthou, Cohen, Collard (2000)   (9 citations)  Self-citation (Collard)   (Correct)

No context found.

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. SpringerVerlag. To appear in June 99. 23


Array SSA for Explicitly Parallel Programs - Collard (1998)   (2 citations)  Self-citation (Collard)   (Correct)

....that at least one definition reaches the use of a(i) for all values of i. Finally, let us stress that implementing OE and functions is out of the scope of this paper, since these functions are used conceptually in the internal representation. The interested reader, however, is referred to [2]. 3 Language Model Indexed Parallel Constructs We consider two indexed parallel constructs: doall and forall. Several languages [9, 6] have indexed parallel constructs whose semantics correspond to what we call doall in this paper: a statement instance is spawned for each possible value of the ....

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. Springer-Verlag. To appear in Dec. 98.


Maximal Static Expansion - Barthou, Cohen, Collard (1998)   (9 citations)  Self-citation (Collard)   (Correct)

....expand data structures is to use the SSA (or Array SSA [19] form in the generated code, i.e. without eliminating the renaming associated with SSA. In a more aggressive optimization, each memory location is written at most once, and the program is said to be in (plain) single assignment (SA) form [14, 8]. Unfortunately, when the control flow cannot be predicted at compile time, some run time computation is needed to preserve the original data flow: in the static single assignment framework, OE functions may be needed to merge multiple reaching definitions, i.e. possible data definitions due to ....

....in Figure 2. While the right hand side of S only depends on w, the right hand side of R depends on the control flow, thus needing a function similar to a OE function in the static single assignment (SSA) framework (even if, on this introductory example, the OE function would be very simple) [8]. for i = 1 to N do T x [i] Delta Delta Delta while Delta Delta Delta do S x [i,w] if w 1 then x [i,w 1] else x [i] Delta Delta Delta end while R Delta Delta Delta = OE(fhT; iig [ fhS; i; wi : w 1g) Delta Delta Delta end for Figure 2: First example, continued. The ....

[Article contains additional citation context not shown here]

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. SpringerVerlag. To appear in June 99. 23


Array SSA for Explicitly Parallel Programs - Collard (1998)   (2 citations)  Self-citation (Collard)   (Correct)

....that at least one definition reaches the use of a(i) for all values of i. Finally, let us stress that implementing OE and functions is out of the scope of this paper, since these functions are used conceptually in the internal representation. The interested reader, however, is referred to [2]. 3 Language Model Indexed Parallel Constructs We consider two indexed parallel constructs: doall and forall. Several languages [9, 6] have indexed parallel constructs whose semantics correspond to what we call doall in this paper: a statement instance is spawned for each possible value of the ....

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, North Carolina, August 1998. Springer-Verlag. To appear in Dec. 98.


Storage Mapping Optimization for Parallel - Programs Albert Cohen   (Correct)

No context found.

J.-F. Collard. The advantages of reaching definition analyses in Array (S)SA. In Proc. Workshop on Languages and Compilers for Parallel Computing, Chapel Hill, NC, August 1998. Springer-Verlag.


Parallelization via Constrained Storage Mapping Optimization - Albert Cohen Prism (1999)   (7 citations)  (Correct)

No context found.

J.-F. Collard. The advantages of reaching definition analyses in Array (S) SA. In Proc. Workshop on Languages and Compilers for Parallel Computi ng, Chapel Hill, NC, August 1998. Springer-Verlag.

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