31 citations found. Retrieving documents...
J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Unimodular Transformations of Non-Perfectly Nested Loops - Xue (1997)   (12 citations)  (Correct)

....below by generating code for a single convex polyhedron and provide the rationale for understanding our code generation algorithm. A convex polyhedron can always be specified by a conjunction of affine constraints. It is always possible to generate a perfect loop nest to scan a convex polyhedron [3, 10]. As 16 6 y 1 y 2 (0,0) v v v v v v v v y 2 1 y 1 6 3 y 2 6y1 1 y 2 Gammay 1 3 Fig. 7: Code generation for a convex polyhedron. an example, the following constraints define the convex polyhedron shown in Figure 7: Gammay 1 3 0 y 1 Gamma y 2 1 0 y 2 Gamma ....

....when used to generate different loop bounds. Experiments [7] showed that Feautrier s PIP overcomes this limitation and allows fairly large problems to be solved. If Feautrier s PIP is used, the first level Gamma 1 loop variables y 1 ; Delta Delta Delta ; y level will be treated as parameters [10]. When constructing the convex hull of P , we note that P is a disjunction of conjuncts. We first build the convex hull for each conjunct and then generate from these convex hulls the convex hull for P . If we have generated all the loops for scanning P , we generate the loop body for P by ....

[Article contains additional citation context not shown here]

J.-F. Collard, T. Risset, and P. Feautrier. Construction of DO loops from systems of affine constraints. Technical Report 93-15, Ecole Normale Sup'erieure de Lyon, May. 1993.


Generating Efficient Tiled Code for Distributed Memory Machines - Tang, Xue (2000)   (3 citations)  (Correct)

....to nonnegative tile indices, we need the largest integer vector i min such that i min 6 i for all iterations i in the iteration space. That is, i min;k = minfi k j (i 1 ; i n ) 2 Ig. This vector can be found using Fourier Motzkin elimination [31, p. 49] or the PIP system [12]. For the iteration space in Example 1, we have i min = 1; 1) A rectangular tiling on an n dimensional iteration space can be modeled as a mapping to a 2n dimensional tiled iteration space defined as follows: I 7 I 0 ; i) t e = b i i min B c ( i i ....

....and efficient. The sequential tiled code consists of 2n loops that are perfectly nested, where the outer n tile loops step between tiles and the inner n element loops enumerate the iterations within a tile. The tile loops are constructed using Fourier Motzkin elimination [31] or its extensions [12, 28]. According to the tiling transformation given in (1) all iterations that satisfy B t 6 i i min 6 B t B 1 are mapped to the same tile t. Thus, the set of iterations in the tile can be defined by: I t = f i 2 I j B t 6 i i min 6 B t B 1g ....

[Article contains additional citation context not shown here]

J.-F. Collard, T. Risset, and P. Feautrier. Construction of DO loops from systems of affine constraints. Technical Report 93--15, Ecole Normale Superieure de Lyon, May. 1993.


Memory Cost due to Anticipated Broadcast - Loechner, Mongenet (2000)   (Correct)

....X generate the virtual processor space associated with X. The allocation function is defined by alloc X (z) oe X z fl X . Once a set of per variable transformations has been determined, the parallel code can be synthesized by applying these transformations to the PARE, as presented in [Ram92, CFR95] for a single transformation, and in [Alb98, QRW99] for per variable transformation. For the transformations to be valid, matrices TX must be full rank. Hence, it guarantees that no two computations are executed at the same time step by the same processor. Of course, not every full rank matrix ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3):421--436, 1995.


A multi-threads runtime for the Pandore . . . - Andre (1996)   (Correct)

....number kB of B, is needed to perform the writings on the the block number kA of A. The above system of constraints defines a polyhedron P which is then projected along the i, j axis; this results in a new polyhedron P ij whose enumeration code can be computed by one of the methods described in [14, 12, 5]. This yields the nested loop (in pseudo code) for kA = 0 ; 2 for kB = max(0; 2 kA Gamma 1) min(5; 3 kA 2) for v = max(500 kB; 1000 kA Gamma 2) min(500 kB 499; 1500 kA 1496) for u = max(div(v 3; 2) v Gamma 998; Gamma500 kA v Gamma 497) min(div(2 v 5; 3) ....

J.F. Collard, P. Feautrier, and T. Risset. -- Construction of DO Loops from Systems of Affine Constraints. -- Research Report 93-15, LIP, Lyon, France, 1993.


Nested Loop Sequences: Towards Efficient Loop Structures in.. - Chamski (1993)   (9 citations)  (Correct)

....as a function of i generated by PIP is if i Gamma 2 0 then 4 else i 2 . The reader interested in the internals of the algorithm is invited to refer to the initial paper on PIP ( 6] Also, the robustness of the algorithm and its suitability for loop bound generation are discussed in [3] and [5]. Nested Loop Sequences: Towards Efficient Loop Structures. 7 5 The NLS construction algorithm Our algorithm operates on a tree representation of loops. In the following, we will often identify a tree with the corresponding loop nest. Let us first outline the algorithm. We will then ....

....5.1.2. We can now sketch the correctness and termination proofs of the algorithm. Correctness proof: for an unexplored node, the definition of a PIP problem solution ensures that the set of points satisfying the conditional bounds built by PIP is identical to the original iteration space (see [5]. Next, each decomposition is applied only if the decomposition constraint is valid, so the iteration space is not altered by a decomposition operation. Finally, the invalidity problem can be reduced to a loop decomposition at an outer level. The algorithm stops when no node contains a ....

[Article contains additional citation context not shown here]

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO Loops from Systems of Affine Constraints. Research Report 93-15, ' Ecole Normale Sup 'erieure de Lyon, Lyon, France, May 1993.


MathPIP: A Mathematica Interface for PIP - User's Guide and.. - Chamski (1994)   (2 citations)  (Correct)

....approach has been successfully shown in a Mathematica based reimplementation of the Alpha du Centaur environment ( 12] at Irisa (Rennes, France) which extensively uses the Chernikova s algorithm ( 4, 11] to generate irredundant representations of polyhedra. The PIP algorithm, due to Feautrier ([6, 7, 8, 5, 2]) is another linear programming algorithm frequently used in the context of parallel program transformation and code generation. We ported its original implementation ( 8] to arbitrary precision arithmetic ( 2] using the publicly available Gnu MP library ( 10] and demonstrated its practical ....

....null, then the corresponding component is unbounded. Applications of PIP include problems such as exact dependence testing and polyhedra scanning problems (taken in a broad sense: determination of accessed areas in arrays, generation of loop bounds etc. The interested reader can consult [6, 7, 8, 9, 1, 5, 2, 3] for further information on the algorithm and its applications. The detailed description of the algorithm and the proofs of its properties can be found in [6] and [5] References [7] and [8] in French) provide information on translating reallife problems into PIP input. Loop generation ....

[Article contains additional citation context not shown here]

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Research Report 93-15, ' Ecole Normale Sup'erieure de Lyon, Lyon, France, May 1993.


Parallelization Of A Wave Propagation Application.. - Andre, Le Fur.. (1994)   (1 citation)  (Correct)

.... and array subscripts but also the distribution of the arrays involved in the computation are analyzed by the compiler: for a given right hand side reference to a distributed array, the associated set of data that must be exchanged between processors is characterized by a polyhedron whose scanning [12, 7, 15] constitutes the basis of the spmd send code and receive code for the reference. The way arrays are represented in the local memories is also taken into account by the compiler so that the data to be moved from one processor to another are scanned in the appropriate direction. This permits the ....

J.F. Collard, P. Feautrier, and T. Risset. Construction of DO Loops from Systems of Affine Constraints. Research Report 93-15, LIP, Lyon, France, 1993.


Static Domain Analysis For Compiling Commutative Loop Nests - Le Fur, Pazat, Andre (1993)   (4 citations)  (Correct)

.... employed method is based on the Fourier Motzkin pairwise elimination [Sch86, Duf74] and the other one on the parametric integer programming [Fea89] An algorithm using the first method is given in [IA91] and the enumeration code production using the parametric integer programming is detailed in [CFR93]. Both methods allow to synthesize an enumeration code which is a perfectly nested loop whose lower (resp. upper) bounds are maxima (resp. minima) of quasi affine expressions (the euclidian division of an affine expression with integer coefficients by a positive integer) For example, the points ....

J.F. Collard, P. Feautrier, and T. Risset. Construction of DO Loops from Systems of Affine Constraints. Technical Report 93-15, LIP, Lyon, France, 1993.


Fast and Efficient Generation of Loop Bounds - Zbigniew Chamski (1993)   (7 citations)  (Correct)

....presented in [5] First, the mutual independence of distinct bound computations allows to perform the whole loop generation in parallel. Also, the ( nodes may be ignored, as they correspond to iteration vector prefixes which will never be reached during the execution of the loop nest (see [3]: the semantics of loop nest execution ensures the enforcement of the context, which consists of the bounds of outer loop indices. Finally, experiments show that avoiding the use of context leads to a more time efficient execution (see section 6. Lets us note PIP(extr, parm, var, sys, ct ) a ....

.... produced by PIP can be replaced by an appropriate extremum (either minimum or maximum) of a set of functions defining the first coordinate of the corresponding lexicographical extremum ( 2] A formal proof of the validity of this transformation was given by Collard, Feautrier and Risset in [3]. 6 Zbigniew Chamski algorithm parallel PIP inputs Ax b ; outputs (L i ) 1id , U i ) 1id ; for i : 1 to d in parallel do L i : PIP(min; x 1 ; x 2 ; x i Gamma1 ] x i ; x d ] Ax b; done jj for i : 1 to d in parallel do U i : PIP(max; x 1 ; x 2 ; x ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO Loops from Systems of Affine Constraints. Research Report 93-15, ' Ecole Normale Sup 'erieure de Lyon, Lyon, France, May 1993.


Page-level Affinity Scheduling for Eliminating False Sharing - Bodin, Granston, Montaut   (Correct)

....which can be used to compute the loop bounds. The advantage of the simplex method is that it does not introduce redundant constraints in the system. However the algorithm has to be applied for each loop bound and a simplification of the loop bounds must be performed before the results can be used [JC93] 2 The lack of convexity arises from the integer division. 3 sign(t) 1 if t 0, Gamma1 if t 0, and 0 otherwise. t = max(t; 0) t Gamma = max( Gammat; 0) DO I 1 =0 TO N 1 Gamma 1 DO I 2 =0 TO N 2 Gamma 1 R : A[c1 I 1 c2 I 2 ] END DO END DO 8 ....

T. Risset J.F. Collard, P. Feautrier. Construction of DO Loops from Systems of Affine Constraints. In LIP Research Report 93-15, May 1993.


Code Generation in Bouclettes - Boulet, Dion (1997)   (Correct)

....not to respect this rule, some temporary arrays may be generated in the next stage to take it into account. 3. Coding the linear schedule We show here how to generate HPF code for a linear schedule. 3.1. Loop rewriting Bouclettes uses techniques presented by Collard, Feautrier and Risset in [4] to rewrite the loops after reindexation. Reindexation yields a new iteration space, which is a convex integer polyhedron defined by a set of affine constraints. Rewriting the nested loop needs to scan all the integer points of this convex and the algorithm relies on a parameterized version of the ....

....set of affine constraints. Rewriting the nested loop needs to scan all the integer points of this convex and the algorithm relies on a parameterized version of the Dual Simplex, PIP (see [8] Consider the initial perfect loop nest (see program 1) where z is a vector of structure parameters (see [4]) Program 1 Initial perfect loop nest do i 1 =i l 1 ( z) i u 1 ( z) do i 2 =i l 2 (i 1 ; z) i u 2 (i 1 ; z) do i d =i l d (i 1 ; i d Gamma1 ; z) i u d (i 1 ; i d Gamma1 ; z) S 1 (i 1 ; i 2 ; i d ; z) S k (i 1 ; i 2 ; i d ; z) ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of do loops from systems of affine constraints. Technical Report 93-15, Laboratoire de l'Informatique du Parallelisme, may 1993.


The Naive Execution of Affine Recurrence Equations - Rajopadhye, Wilde (1995)   (2 citations)  (Correct)

....that the Fourier Motzkin elimination method creates redundant bound equations which must be eliminated afterward. Le Fur et al. LFPA93] also use this method for their Pandore II compiler. A method using the Parametric Integer Program (PIP) was developed by Feautrier [Fea88, Fea91] Collard et al.[CFR93] show how PIP can be used to find loop bounds and how PIP output can be simplified. Chamski [Cha93] reviews the PIP method of finding loop bounds and gives timing comparisons between the PIP method and the Fourier Motzkin method. 4.3 Description of method In this section, we describe a method to ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Technical Report 93--15, Ecole Normale Sup'erieure de Lyon, May 1993.


TagC: a Language with Computation Distribution Directives for.. - Weiren Ding (1994)   (Correct)

....for the class of loops on which this technique applies) This is also true for BLOCK, CYCLIC and BLOCK CYCLIC computation distributions; these can also be rewritten by means of particular linear con straints [15] Recently, tools have been developped for scanning polyhedra. See for example [7, 3, 5]. Any of these tools takes as input a set of linear constraints and generates as output a nested loop that scans in lexicographical order all the points that verify these constraints. We make use of such a scanning tool in our compiler, as shown in figure 4. Code SPMD Polyhedra Scanning ....

J.F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Technical report, Laboratoire MASI, Institut Blaise Pascal, Universit 'e de Versailles St-Quentin, LIP, Lyon , France, 1993. Technical Report 93-15.


Compilation of I/O Communications for HPF - Coelho   (Correct)

....any other addressing scheme would fit into this technique. Moreover other addressing schemes [33] may be translated into a linear framework. 1.3 Resolution The integer solutions to the previous set of equations must be enumerated to generate the communications. Any polyhedron scanning technique [19, 3, 5, 39, 17, 27, 13, 30, 28] can be used. The key issue is the control of the enumeration order to generate tight bounds and to reduce the control overhead. Here the word polyhedron denotes a set of constraints that defines a subspace of integer points. Different sets of constraints may define the same subspace, and some ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from Systems of Affine Constraints. LIP RR93 15, ENS-Lyon, May 1993.


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

No context found.

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995.


Maximal Static Expansion - Denis Barthou Albert (1998)   (9 citations)  Self-citation (Collard)   (Correct)

No context found.

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995.


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

....Such a labeling scheme is obviously arbitrary, but all programs transformed using our method are equivalent up to a permutation of these labels. Labeling boils down to scanning exactly once all the integer points in the set of representatives ae(C) which can be done using classical techniques [1, 10]. Now, remember that function f 0 e is of the form (f e ; From Theorem 1, we can take for (u) the label we choose for ae(u) then storage mapping f 0 e is a maximal static expansion for our program. Eventually, one has to generate code for the expanded program, using storage mapping f 0 ....

....Representatives: To label memory locations, we consider in turn (parametrically) each equivalence class C for relation May , and restrict the domain of ae to C. We then associate each location to an integer point in the affine polyhedron of representatives ae(C) Polyhedron scanning techniques [1, 10] can be applied to compute labeling function . Fifth Step, Code Generation: Control structures are left unchanged in the program (parallelization is the subject of Section 7) Left hand side: Any reference A[Subscript(u) in left hand side Subscript(u) denotes the subscript function is ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995.


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

....Compute (W) Give a number to each element in the set of representatives. If an element in the set of representatives is itself a parameterized affine set of operations, labelling boils down to scanning exactly once all the integer points in the set, which can be done using classical techniques [14, 15]. In both cases, u has a single representant and is therefore mapped to a unique label (u) 5. Code generation is then straightforward: any reference A[ f S (u) in the left hand side of S is transformed into A[ fS (u) u) For any reference in the right hand side, one has to find the label ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995. 13


International Conference on Applications in Parallel and.. - Code Generation In   Self-citation (Collard)   (Correct)

....the loop bounds of a reindexed loop nest is equivalent to scanning the integer points in an integer convex polyhedron. We use a parametrized version of the Dual Simplex method, implemented by Feautrier in a software called PIP (Parameter Integer Programming [9] Much more details are given in [10]. The PAF (Parall eliseur Automatique pour Fortran) automatic parallelizer designed by Feautrier follows the second way: dataflow analysis is performed [11] and an affine 3 schedule is derived for each statement, giving the execution date of every operation. This schedule may be one dimensional ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Technical Report 93-15, LIP, ENS Lyon, France, 1993. Available via anonymous ftp on lip.ens-lyon.fr.


Probabilistic Memory Disambiguation and its Application to.. - Ju, Collard, Oukbir   (1 citation)  Self-citation (Collard)   (Correct)

....j would be smaller than 1) and j is always equal to i 2. The cardinality of aliases should be computed as: whose value is N 2. Pre computing the range of sum variables is equivalent to finding the bounds of a nest of for loops that scan a given polyhedron. To do this, the algorithm proposed in [CRF95] is used in our implementation. This algorithm in turn uses an integer programming algorithm designed by Feautrier [Fea88] and implemented in the PIP software [TaF89] 4 Application for Data Speculation As we have emphasized, to maximize program performance, it is important to determine whether ....

J.-F. Collard, T. Risset and P. Feautrier, "Construction of do Loops from Systems of Affine Constraints," Parallel Processing Letters. Vol 5, No 3, pages 421--436. 1995.


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

....Compute (W) Give a number to each element in the set of representatives. If an element in the set of representatives is itself a parameterized affine set of operations, labeling boils down to scanning exactly once all the integer points in the set, which can be done using classical techniques [1, 4]. In both cases, u has a single representative and is therefore mapped to a unique label (u) 5. Code generation is then straightforward: any reference A[f(u) in the left hand side is transformed into A[ f(u) u) For any reference in the right hand side, one has to find the label of the ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3), 1995.


Space-Time Transformation of while-Loops using Speculative.. - Collard (1994)   (4 citations)  Self-citation (Collard)   (Correct)

.... a(n; n) j ffl ) x = a(n; n) for t = 2 to 2n forall p = max(1; t Gamma n) to min(t Gamma 1; n) a(p; t Gamma p) a(p; t Gamma p) a(p Gamma 1; t Gamma p) a(p; t Gamma p Gamma 1) 4 endforall endfor endwhile Bounds on t and p can be found using, for instance, the method proposed in [3]. These bounds describe the target domain. This program is executed in O(s Theta (2n Gamma 1) on n processors. 3.2 The proposed method Now, let us introduce a loop counter w for the while loop. For a given w, the computation of the next value of a(i; j) at step w 1 can obviously take place ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Technical Report 93-15, LIP, ENS Lyon, France, 1993. ftp: lip.ens-lyon.fr.


Scanning polyhedra without Do-loops - Boulet, Feautrier (1998)   (2 citations)  Self-citation (Feautrier)   (Correct)

....when one use specification languages like ALPHA) or when the loop nest is submitted to a unimodular transform. This situation is characterized by the fact that all integer points in the given polyhedron are to be visited. In this form, the problem was first solved by Irigoin in [9] see also [8, 1, 5]. However, not all parallelizing transformations are unimodular. They may even be singular: this situation occurs when constructing communication loops [11] The solution is to write the transformation T = HU where U is unimodular and H is a Hermite normal form of T . One first scans the image of ....

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3):421--436, Sept. 1995.


Projecting Periodic Polyhedra for Loop Nest Analysis - Meister (2004)   (2 citations)  (Correct)

No context found.

J.-F. Collard, P. Feautrier, and T. Risset. Construction of DO loops from systems of affine constraints. Parallel Processing Letters, 5(3):421--436, 1995.


On Tiling as a Loop Transformation - Xue (1997)   (19 citations)  (Correct)

No context found.

J.-F. Collard, T. Risset, and P. Feautrier. Construction of DO loops from systems of affine constraints. Technical Report 93-15, Ecole Normale Sup'erieure de Lyon, May. 1993.

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