64 citations found. Retrieving documents...
P. Feautrier, Array expansion, in: ACM Intl. Conf. on Supercomputing, St. Malo, France, 1988, pp. 429--441.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Analysis of Irregular Single-indexed Arrays and its.. - Lin, Padua   (Correct)

....expression to be linear. However, in many programs, especially sparse irregular programs, closed form expressions of array subscripts are not available, and many codes are left unoptimized. Clearly, more powerful methods to analyze array subscripts are desired. For example, array privatization[9, 13, 17, 19] is an important technique in loop parallelization. An array can be privatized if any array element that is read in one iteration of the loop is always rst de ned in the same iteration. For example, in the outermost loop loop do k in Fig.1, array x( is rst de ned in the repeat until loop, and ....

P. Feautrier. Array expansion. In Proceedings of the Second International Conference on Supercomputing, St. Malo, France, July 1988.


The Advantages of Instance-wise Reaching Definition Analyses in.. - Collard (1998)   (Correct)

....Several methods have been crafted to extend these intermediate representations to arrays. Array SSA, which extends SSA to arrays, has been introduced lately thanks to Knobe and Sarkar [18] In Array SSA, each array is assigned to by one statement. On the other hand, Array SA is the extension of SA [15, 16]: Each array element is written at most once, by a single statement instance. In both frameworks, OE functions may be inserted to restore the flow of data when nondeterministic confluence points occur in the control flow. However, several issues in Array SSA are still unclear. 1. Whereas formal ....

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, St Malo, pages 429--441, 1988.


Frameworks For Precise Program Analysis - Murphy (2001)   (Correct)

.... making use of methods which can be efficient in the affine domain [83, 84, 91, 123] Array data flow dependence computations simply extend these comparisons to determine relative ordering of array reads and writes, by performing pairwise comparisons that are precise in the affine domain [37, 38, 39, 82, 91, 95]. While precise, these approaches are severely limited in the presence of general control flow, and further, pairwise testing of accesses is not practical if applied across large bodies of code. In addition, the presence of multiple writes in a code segment significantly increases the complexity ....

P. Feautrier. Array expansion. In Proceedings of the Second International Con- ference on Supercomputing, St. Malo, France, July 1988.


A Unified Framework for Schedule and Storage Optimization - Thies, al. (2001)   (9 citations)  (Correct)

....gap between clock speed and memory latency, and with modern memory systems becoming increasingly hierarchical, the amount of storage space required by a program can have a drastic e ect on its performance. Nonetheless, parallelizing compilers often employ varying degrees of array expansion [9, 5, 1] to eliminate elementlevel anti and output dependencies, thereby adding large amounts of storage that mayormay not be justi ed by the resulting gains in parallelism. #### ################# ######### #### ########### ######## ##### # ####### ########### ######### ## #### ##### ###### ## ### ....

....space of the array written by that statement. That is, for array references appearing on the left hand side of an assignment, the expression indexing the i th dimension of the array is the index variable of the i th enclosing loop (this is formalized below) While techniques suchasarray expansion [5] can be used to convert programs with ane dependencies into this form, our analysis will be most useful in cases where an expanded form was obtained for other reasons (e.g. parallelism detection) and one now seeks to reduce storage requirements. We will refer to the example in Figure 1, borrowed ....

P.Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429-441, 1988.


A Unified Framework for Schedule and Storage Optimization - Thies (2002)   (9 citations)  (Correct)

....tip. Given this data layout, it is natural to execute the loop sequentially, in which case it will require 25 time steps (or O(n ) in the general case) to complete the program. However, one can improve the execution time of this program by performing a transformation known as array expansion [5]. Array expansion allocates extra dimensions for a given array, usually to match the number of enclosing loops in the program. Figure 1 3 illustrates our example after A has been expanded across the i loop; as is evident from the gure, the transformation adjusts the index expressions of A so as ....

....of enclosing loops in the program. Figure 1 3 illustrates our example after A has been expanded across the i loop; as is evident from the gure, the transformation adjusts the index expressions of A so as to preserve the semantics of the original program. Feautrier developed a general technique [5] that expands arrays to the dimensionality of their enclosing loop nest and applies to any program with static control ow (see Chapter 2) The bene t of array expansion is that it can eliminate false dependences in the original program. Here a brief review of terminology is in order. A true ....

[Article contains additional citation context not shown here]

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429-441, 1988.


Data Dependence and Data-Flow Analysis of Arrays - Dror Maydan Saman (1992)   (39 citations)  (Correct)

....n do for i = 1 to i2 d 10 do work[i ] fori =ltoi2 10do . work[i 1] Figure 3: Example of an LWT 4. 1 Calculating LWTs Feautrier has developed a set of algorithms that can be used to calculate LWTs in the domain of loop nests that contain no IF statements and no procedure calls[8][7]. His first algorithm, Parametric Integer Programming, is based on modifying simplex for the integer case with symbolic parameters. This algorithm finds, for all array locations, the last write where the write iteration, i, is subject to a set of linear integer constraints, Ai , where the ....

P. Feautrier. Array expansion. In International Conference on Supercomputing, pages 429-442, 1988.


A Systolizing Compiler - Barnett (1992)   (1 citation)  (Correct)

....code to enumerate the data elements that are referenced by a set of nested loops. The same methods can be applied to loop transformations. Other work by Irigoin and Triolet [43] uses similar techniques for coarser grained parallelism. Others, independently, have used similar methods. Feautrier [24, 25, 26] has proposed an algorithm for generating loop bounds (the central problem for code generation) created by unimodular transformations on source programs. He uses a variant on the simplex algorithm which permits integer solutions and is fast on the sort of small problems arising in loop ....

P. Feautrier. Array expansion. In Proc. Int. Conf. on Supercomputing, pages 429--441. ACM Press, 1988.


A Unified Framework for Schedule and Storage Optimization - Thies, Vivien, Sheldon.. (2001)   (9 citations)  (Correct)

....gap between clock speed and memory latency, and with modern memory systems becoming increasingly hierarchical, the amount of storage space required by a program can have a drastic e ect on its performance. Nonetheless, parallelizing compilers often employ varying degrees of array expansion [9, 5, 1] to eliminate elementlevel anti and output dependencies, thereby adding large amounts of storage that may or may not be justi ed by the resulting gains in parallelism. This document is MIT LCS Technical Memo LCS TM 613, November 2000. A similar document was submitted to PLDI 2001. Please do ....

....of the array written by that statement. That is, for array references appearing on the left hand side of an assignment, the expression indexing the i th dimension of the array is the index variable of the i th enclosing loop (this is formalized below) While techniques such as array expansion [5] can be used to convert programs with ane dependencies into this form, our analysis will be most useful in cases where an expanded form was obtained for other reasons (e.g. parallelism detection) and one now seeks to reduce storage requirements. We will refer to the example in Figure 1, borrowed ....

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429-441, 1988.


An Overview of a Compiler for Scalable Parallel Machines - Saman Amarasinghe Jennifer (1993)   (46 citations)  (Correct)

....not just to the same location. This information is found for every dynamic read write access pair. Thus, exact dataflow analysis does not have the inaccuracies of the traditional data dependence analysis. 3 The problem of finding exact array data flow information was first formulated by Feautrier[4, 5, 6]. Feautrier proposed a parametric integer programming algorithm that can find such exact information in the domain of loop nests where the loop bounds and array indices are affine functions of loop indices. We have developed an algorithm that can find the same exact information for many common ....

Paul Feautrier. Array expansion. In International Conference on Supercomputing, pages 429--442, July 1988.


A Unified Framework for Schedule and Storage Optimization - Thies, Vivien, Sheldon.. (2001)   (9 citations)  (Correct)

....2001 ACM 0 89791 88 6 97 05. 5.00. ory latency, and with modern memory systems becoming increasingly hierarchical, the amount of storage space required by a program can have a drastic e ect on its performance. Nonetheless, parallelizing compilers often employ varying degrees of array expansion [9, 5, 1] to eliminate element level anti and output dependences, thereby adding large amounts of storage that may or may not be justi ed by the resulting gains in parallelism. Thus, compilers must be able to analyze the tradeo s between parallelism and storage requirements in order to arrive at an ecient ....

....space of the array written by that statement. That is, for array references appearing on the left hand side of a statement, the expression indexing the i th dimension of the array is the index variable of the i th enclosing loop (this is formalized below) While techniques such as array expansion [5] can be used to convert programs with ane dependences into this form, our analysis will be most useful in cases where an expanded form was obtained for other reasons (e.g. to detect parallelism) and one now seeks to reduce storage requirements. We will refer to the example in Figure 1, borrowed ....

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429-441, 1988.


Automatic Distribution of Data and Computations - Feautrier (2000)   (1 citation)  Self-citation (Feautrier)   (Correct)

....due to the use of a unique scalar s. There is a well known remedy: one must expand r to, e.g. a two dimensional array : program EE r(i,j) t(i,j) S1 t(j,i) r(i,j) S3 This transformation can be done mechanically by using the results of the array data ow analysis of the original program [Fea88, Fea91, MAL93, PW93] In the communication graph of program EE, from the vertex representing cell r(i,j) for j i, one may reach cells t(i,j) et t(j,i) and also operations hS 1 ; i; ji; hS 2 ; i; ji and hS 3 ; i; ji. On the other hand, an operation whose vector is hi; ji accesses only array ....

....statement S, and if jAj is the rank of array A, then in the above formula F is a matrix of dimension jAj jSj and h is a vector of dimension jAj. This hypothesis is frequently made by automatic parallelizers. Programs with only DO loops and ane subscripts were named static control programs in [Fea88] There are reasons to believe, rstly that this is the only class of programs which have a well de ned compilation algorithm toward parallel computers. Less constrained programs can be handled either by approximate methods [CBF95] or by run time parallelization methods. Secondly, the authors ....

Paul Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429-441, 1988.


Dataflow Analysis of Array and Scalar References - Feautrier (1991)   (126 citations)  Self-citation (Feautrier)   (Correct)

....calls which act as operators (no argument is modified, no global variable is accessed) Other subroutine calls should probably be inlined. 7 Acknowledgments This work has been supported by DRET under contract 87 280 and by PRC C 3 of the french CNRS. Part of section 2. 3 has been reproduced[12] by permission of ACM. 31 A The Parametric Integer Algorithm A.1 The Basic Algorithm A parametric integer program (PIP) may be formulated in the following way. Let F(z) be the set of integer points inside a convex polyhedron: F(z) fxjSx t(z) 2 Ng=Kz h 2 N; 28) where S and K are ....

Paul Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, St Malo, 1988.


Semantical Analysis and Mathematical Programming Application to.. - Feautrier (1989)   (6 citations)  Self-citation (Feautrier)   (Correct)

....dependences are regular and may be described by a set of vectors which spans the dependence cone [Iri87] We will then study data flow analysis; here, our aim is to find the source of the values which are used at each stage of the computation. Such information is very useful for array expansion [Fea88a], for verifying program correctness, etc. Lastly, we will show how to solve the problem of enumerating the integer vectors which lies inside a polyhedron. This technique may be applied to code generation problems (loop interchange, supernode construction, etc. and to memory management problems. ....

....of future studies. In a program in which the for loop is the only control instruction, naming an operation is easy; one only has to give the name of the instruction of which the operation is an instance, and the values of the surrounding loops counters. Such a tuple forms what we have called in [Fea88a] an (operation) coordinate. 2.2 Linearity conditions The techniques we have devised are applicable only to linear problems. To be able to use them, we will suppose that our object programs obey the following restrictions: ffl The loop bounds are integral affine functions of the structure ....

[Article contains additional citation context not shown here]

Paul Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, St Malo, 1988.


Array Expansion - Feautrier (1988)   (55 citations)  Self-citation (Feautrier)   (Correct)

....j) fx; yji j = x y; 0 x m; 0 y n; i x (i = x j y)g The subset Q s1 (i; j) is empty, since the system: i j = x y i = x j y has no solution. Q s0 is the set: Q s0 (i; j) fy; zji j = y z; 0 y m; 0 z n; y ig in the context 0 i m; 0 j n. In order to apply [Fea88a] algorithm, we must first convert all constraints to the form f 0, and transform the problem to a search for a lexicographic minimum. This is done by the following change of variables: 0 y 0 = m Gamma y n m 0 z 0 = n Gamma z n: The problem is cast in the form of a tableau: y 0 = ....

Paul Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, St Malo, 1988.


Asymptotically Efficient Algorithms for Parallel.. - Paul Feautrier Laboratoire (1989)   (2 citations)  Self-citation (Feautrier)   (Correct)

....construction of parallel programs has centered on the notion of transformation. The rationale is that most programs were written with sequential execution in mind and are not well adapted to parallel execution. Transformations were invented to remove excessive optimization : expansion ( 14] [4]) loop reordering and loop splitting ( 1] algebraic expression rearrangement ( 2] 10] As always, if taken naively, the transformation approach leads to combinatorial explosion. For a given program, there is a very large number of valid transformations which interact in a complex way; ....

....one equivalence class; the notation should be simple and compact but carry enough information to enable one to compute the required objective function and to reconstruct the selected optimal representative. This paper shows that, for a restricted class of programs (the static control programs of [4]) the dataflow graph as (DFG) defined in [5] answer at least part of our requirements. In paragraph 2, we give a more precise definition of static control programs; we review the methods of [5] for computing their DFG. We then introduce the notion of timing function. A timing function simply is ....

[Article contains additional citation context not shown here]

Paul Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, St Malo, 1988.


In Search of a Program Generator to Implement.. - Cohen, Donadio.. (2005)   (Correct)

No context found.

P. Feautrier, Array expansion, in: ACM Intl. Conf. on Supercomputing, St. Malo, France, 1988, pp. 429--441.


Verification of Source Code Transformations by.. - Shashidhar.. (2005)   (Correct)

No context found.

P. Feautrier. Array expansion. In ICS, pp 429--441. ACM, 1988.


In Search of a Program Generator to Implement.. - Cohen, Donadio.. (2005)   (Correct)

No context found.

P. Feautrier, Array expansion, in: ACM Intl. Conf. on Supercomputing, St. Malo, France, 1988, pp. 429--441.


In Search of a Program Generator to Implement.. - Cohen, Donadio.. (2004)   (Correct)

No context found.

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429--441, St. Malo, France, July 1988.


Verification of Source Code Transformations by.. - Shashidhar.. (2005)   (Correct)

No context found.

P. Feautrier. Array expansion. In ICS, pp 429--441. ACM, 1988.


A Unified Framework for Schedule and Storage Optimization - Thies, Vivien, Sheldon.. (2001)   (9 citations)  (Correct)

No context found.

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429--441, 1988.


A Unified Framework for Schedule and Storage Optimization - Thies (2002)   (9 citations)  (Correct)

No context found.

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429--441, 1988.


A Unified Framework for Schedule and Storage Optimization - Thies, Vivien, Sheldon.. (2001)   (9 citations)  (Correct)

No context found.

P. Feautrier. Array expansion. In ACM Int. Conf. on Supercomputing, pages 429--441, 1988.


Compiler Analysis of Sparse and Irregular Computations - Lin (2000)   (1 citation)  (Correct)

No context found.

P. Feautrier. Array expansion. In Proceedings of the Second International Conference on Supercomputing, St. Malo, France, July 1988.


Compiler Transformations for High-Performance Computing - Bacon, Graham, Sharp (1993)   (227 citations)  (Correct)

No context found.

, 17--24. Feautrier, P. 1988. Array expansion. In Proceedings of the ACM International Conference on Supercomputing,

First 50 documents  Next 50

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