146 citations found. Retrieving documents...
U. Banerjee, "Unimodular Transformations of double loops, " Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pp. 192--219, August 1990.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Optimizing Aggregate Array Computations in Loops - Liu, Stoller, Li, Rothamel   (Correct)

....lacking. Optimizations similar to incrementalization have been studied for various language features, e.g. 8, 16, 34, 52, 51, 53, 57, 58, 59, 71, 79] but no systematic technique handles aggregate computations on arrays. At the same time, many optimizations have been studied for arrays, e.g. [1, 2, 3, 4, 6, 22, 29, 31, 37, 41, 55, 56, 63, 69, 74], but none of them achieves incrementalization. This paper presents a method and algorithms for incrementalizing aggregate array computations. The method is composed of algorithms for four major problems: 1) identifying an aggregate array computation and how its parameters are updated, 2) ....

....using fewer processors. In the latter case, resource requirements and communication costs are substantially reduced. Additionally, for this powerful optimization, we make use of techniques and tools for array dependence analysis [23, 24, 54, 55, 64, 65, 66] and source to source transformation [6, 41, 55, 63, 69] that were developed for parallelizing compilers. Comparing the straightforward code (1) with the optimized code (27) in Section 6, one can see that performing the optimizations by hand is tedious and error prone. A central goal of programming language and compiler research is to allow ....

[Article contains additional citation context not shown here]

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192-219, Aug. 1990.


Quantifying the Multi-Level Nature of Tiling Interactions - Nicholas Mitchell Karin (1997)   (23 citations)  (Correct)

....Graph (ISG) 25] is a directed acyclic graph whose nodes represent the initial values and computations in the loop body, and whose edges represent data I dependences [24] Figure 4 shows the loop nest for the tiled program. The loop nest gives an order for executing the nodes of the ISG. Tiling [15, 18, 31, 32, 22, 25, 28, 29, 3, 20] can improve both data locality and parallel execution time. A tiling redefines the order of execution of the points within an ISG by specifying four pieces of information: the atomic units of execution, how to span each unit (in other words, a schedule for the points that comprise the unit) how ....

Utpal Banerjee. Unimodular transformations of double loops. In Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.


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

.... space time transformation [68] in parallelizing compilation by a set of heuristic loop transformations schemes like loop jamming, loop reversal, strip mining, skewing, tiling, and unrolling [2, 12, 61, 77] Recent work in parallelizing compilation expresses each transformation scheme as a matrix [8, 76]. A compound transformation then becomes the functional composition of its components; thus, the entire transformation is expressed as a matrix. A brief introduction to the field of parallelizing compilation is given in Section 7.1. We then present a unified framework for both areas in Section ....

....When these conditions are not met, certain transformations, when legal (that is, preserving the desired aspects of the source program s behaviour) can establish them by changing the loops and or the way variables are indexed. Recent research has provided a theory for these transformations [8, 56, 76], but only for DOALL loops. 7.2 A Common Framework Both areas are concerned with the discovery of two functions: 33 T : I Gamma T S This space time transformation must, under preservation of the dependences of SP, provide a distribution of its operations in time and space preferably ....

[Article contains additional citation context not shown here]

U. Banerjee. Unimodular transformations of double loops. In A. Nicolau, D. Gelernter, T. Gross, and D. Padua, editors, Advances in Languages and Compilers for Parallel Processing, chapter 10, pages 192--219. MIT Press, 1991.


Automatic Parallelization of Higher-Order Languages in the.. - Collard (1997)   (Correct)

.... defined by affine (in)equalities, and therefore are polyhedra (or polytopes, if bounded) Data fields that are affine recurrences on polyhedra can of course be scheduled using the same techniques [9, 8] Notice that code generation is easier when space time mappings are unimodular transformations [10], i.e. when the determinant of the matrix is 1 or Gamma1. However, see also [11] In the sequel, we make the assumption that mappings are unimodular. Our purpose is to automatically parallelize data fields such as g using space time mappings, and to use as little memory as possible in the ....

U. Banerjee. Unimodular transformations of double loops. Technical Report CSRD Rpt. No. 1036, University of Illinois, August 1990.


Supporting Multidimensional Arrays in Java - Moreira, Midkiff, Gupta (2001)   (Correct)

....Fortran compilers for high performance numerical applications include optimizers capable of applying high order transformations [18] to the code. These transformations include, but are not limited to, loop fusion, unimodular transformations, loop tiling, unroll and jam, and loop parallelization [2, 16, 21]. Now, consider the job of a Java just in time compiler as it optimizes execution of the bytecode generated for the loop nests in the above dgemv example. Before it can apply any transformations to a loop nest, the compiler must prove that (i) the loop nest executes without exceptions, ii) the ....

U. Banerjee. Unimodular transformations of double loops. In Proc. Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, California, August 1990.


An Algorithm to Automate Non-Unimodular Transformations of Loop.. - Xue (1993)   (3 citations)  (Correct)

....n is the depth of the loop nest. The adjusted loop bounds are the simplest that can be expected. 1 Introduction Loop transformations, such as loop interchange, reversal, skewing and tiling, have been shown to be very useful in the presently two closely related areas: parallelising compilation [1, 3, 21, 22, 23] and regular array design [6, 7, 15, 16, 19, 25] The process of loop transformations can be divided into three steps. The first step is to gather useful knowledge about the underlying dependences of a program [2, 11, 22] The second step is to choose the optimal loop transformations in such a way ....

....restriction was described in [5] It was shown how to rewrite one example double loop for one non unimodular transformation. It is unclear whether and how general loop nests can be dealt with. In the context of parallelising compilation, loop transformations have been restricted to be unimodular [1, 3, 21]. This restriction was relaxed in [12] to increase the space of loop transformations. But how to rewrite loop nests for nonunimodular transformations was not mentioned. In this paper, we present an algorithm that rewrites a loop nest under any non singular (unimodular or non unimodular) loop ....

[Article contains additional citation context not shown here]

U. Banerjee. Unimodular transformations of double loops. In A. Nicolau, D. Gelernter, T. Gross, and D. Padua, editors, Advances in Languages and Compilers for Parallel Processing, chapter 10, pages 192--219. MIT Press, 1991.


Data Sequence Locality: a Generalization of Temporal Locality - Loechner, Meister, Clauss   (Correct)

....[18] Recent work has provided advances in loop and data transformation theory. By using ane representation of loops, several loop transformations have been uni ed into a single framework using a matrix representation of these transformations [22] These techniques consist either in unimodular [1] or non unimodular [11] iteration space transformations as well as tiling [10, 20, 21] More recently, Kandemir et al. 9] and O Boyle and Knijnenburg [14] have proposed a unifying framework for loop and more general data transformations. In [14] the authors propose an extension to nonsingular ....

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Processing. MIT Press, Cambridge, MA, 1991.


Probabilistic Loop Scheduling Considering Communication.. - Tongsima..   (Correct)

....These methods, however, do not explore the parallelism across iterations nor do they address the problems of probabilistic tasks. Loop transformations are also common techniques used to restructure loops from the repetitive code segment in order to reduce the total execution time of the schedule [1, 16, 23, 24]. These techniques, however, do not consider that the target systems have limited number of processors or that task computation times are uncertain. For global scheduling, software pipelining [13] is used to overlap instructions, whereby the parallelism is exposed across iterations. This ....

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192--219. IEEE, August 1990.


Parallel Programming using the Iteration Space Visualizer - Yu, D'Hollander (2000)   (Correct)

.... data dependences and program transformations [7] During the past decades, many techniques in the area of data dependence tests [2, 14, 13] and program transformations have provided the programmer with much useful material, e.g. the Banerjee, Range [3, 4] and Omega [15, 13] tests, the unimodular [1, 5, 20] and non singular [16] loop transformations and recently statement reordering transformations [9, 12, 11] for non perfectly nested loops. Most techniques are illustrated by dependence graphs, such as the program dependence graph(PDG) and the iteration space dependence graph (ISDG) The difference ....

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Computing,


Reordering and Storage Optimizations for Scientific Programs - Pike (2002)   (4 citations)  (Correct)

....then we can simplify its address calculations and bounds checks. We have implemented a modest algorithm for inferring unit strides at the level of a foreach loop (figure 3. 8) For example, it will infer that A must have unit stride in this loop: foreach (p in D) A[p] A[p [2] A[p [5]] because gcd(2, 3, 5) 1. We did not bother with a polynomial gcd, though that would have allowed us to handle cases such as: foreach (p in D) A[2 p] A[4 p [1] It would be nice to transfer the knowledge gained to other uses of A, but that 37 would require knowing that the ....

.... order (default) or reverse lexicographic order (if requested in the parameter file) If the parameters to select a tiling are left unspecified in the parameter file then we use # = 0 and: in the 1 dimensional case tiles are thrice the size of trivial tiles: 0] 1] 2] 3] 4] [5], etc. in that order; in the 2 dimensional case tiles are thrice the size of trivial tiles: 0, 0] 1, 0] 2, 0] 0, 1] 1, 1] 2, 1] etc. in that order; in the 3 dimensional case tiles are nine times the size of trivial tiles: 0, 0, 0] 0, 1, 0] 0, 2, 0] 1, 0, 0] ....

U. Banerjee. Unimodular transformations of double loops. In Proc. of the 3rd Workshop on Programming Languages and Compilers for Parallel Computing, pages 192--219, Irvine, CA, 1990.


Tiling Imperfectly-nested Loop Nests - Ahmed, Mateev, Pingali (2000)   (9 citations)  (Correct)

....been proposed for choosing tile sizes [5, 8, 9, 15, 21] Tiling changes the order in which loop iterations are performed, so it is not always legal to tile a loop nest. If tiling is not legal, it may be possible to perform linear loop transformations like skewing and reversal to enable tiling [2, 4, 16, 23, 26]. This technology has been incorporated into production compilers such as the SGI MIPSPro compiler, enabling these compilers to produce good code for perfectly nested loops. In real programs though, many loop nests are imperfectly nested (that is, one or more assignment statements are contained ....

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192--219, Aug. 1990.


Collective: by monica Lam NSDI - Lim, Lam   (Correct)

....data at each level of the memory hierarchy: physical memory, caches, registers as well as the translation lookaside bu er. Automatic blocking, based on unimodular transforms, has been shown to be e ective on perfectly nested loops whose array accesses are indexed by ane expressions of loop indices[3, 15]. A loop nest is perfectly nested if all the computation are found in the innermost loop. Unimodular transforms map original loop indices to new loop indices via a unimodular matrix, which is expressive enough to specify any combination of loop permutation, skewing and reversal. The automatic ....

....threads to improve spatial locality and locality of read only data; apply blocking to fully permutable loop nests to exploit locality in multiple dimensions. Many data locality optimization algorithms have been proposed in the past. Some are based on unimodular transformation and tiling[3, 15]; some use heuristics to apply transformations such as fusion and ssion[4, 7, 8] But none of these approaches can support array contraction and blocking as generally as the algorithm described in this paper. Ahmed et al. have proposed an algorithm for blocking imperfectly nested loop nests[1] ....

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, pages 192-219, August 1990.


Optimizing Communication and Data Distribution for.. - Palermo   Self-citation (Banerjee)   (Correct)

No context found.

U. Banerjee, "Unimodular transformations of double loops," in Proceedings of the Third Workshop on Languages and Compilers for Parallel Computing, Irvine, CA, Aug. 1990.


c flCopyright by Manish Gupta, 1992 - Automatic Data Partitioning   Self-citation (Banerjee)   (Correct)

....( Figure 4.6: Dependence graph for the example program segment structure. This can be achieved by applying a sequence of the following transformations, which are always valid: ffl Distribution of a doall loop over statements constituting its body. ffl Loop permutation [8] (a special case of that is loop interchange) that brings a doall loop inwards. The application of these transformations is illustrated by the example shown in Figure 4.5. The dependence graph for this program segment is shown in Figure 4.6. Consider the process of determining the level for ....

U. Banerjee. Unimodular transformations of double loops. In Proc. Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, California, August 1990. 127


Exploiting Cache Locality At Run-Time - Yan (1998)   (Correct)

No context found.

U. Banerjee, "Unimodular Transformations of double loops, " Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pp. 192--219, August 1990.


Memory Latency Rediction via Data Prefetching and Data Forwarding .. - Poulsen (1994)   (Correct)

No context found.

U. Banerjee, "Unimodular transformations of double loops," Proceedings of the 3rd Annual Workshop on Programming Languages and Compilers for Parallel Computing, 1990.


Is Search Really Necessary to Generate High-Performance .. - Yotov, Li, Ren.. (2005)   (Correct)

No context found.

U. Banerjee, "Unimodular transformations of double loops," in Advances in Languages and Compilers for Parallel Processing. Cambridge, MA: MIT Press, 1991, ch. 10, pp. 192--219.


Access Normalization: Loop Restructuring for NUMA Computers - Li, Pingali (1993)   (34 citations)  (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192--219, August 1990.


Tiling Imperfectly-nested Loop Nests - Nawaaz Ahmed Nikolay (2000)   (9 citations)  (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192--219, Aug. 1990.


Access Normalization: Loop Restructuring for NUMA Compilers - Li, Pingali (1992)   (34 citations)  (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Proceedings of the Workshop on Advances in Languages and Compilers for Parallel Processing, pages 192--219, August 1990.


Multi-transformations: Definition and Usefulness - Ayguade, Knijnenburg, Torres (1995)   (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Processing, chapter 10. The MIT Press, 1991.


Partitioning Loops with Variable Dependence Distances - Yijun Yu And   (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Computing, 1990.


Non-Uniform Dependences Partitioned by Recurrence Chains - Yu, D'Hollander   (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Computing, 1990.


More Legal Transformations for Locality - Bastoul, Feautrier (2004)   (1 citation)  (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Processing, pages 192--219, Irvine, august 1990.


Partitioning Loops with Variable Dependence Distances - Yu, D'Hollander   (Correct)

No context found.

U. Banerjee. Unimodular transformations of double loops. In Advances in Languages and Compilers for Parallel Computing, 1990.

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