| S. Chatterjee, J. Gilbert, and R. Schreiber. The alignmentdistribution graph. In U. Banerjee, editor, Proceedings of LCPC'93, number 768 in LNCS. Springer Verlag, Portland, OR., August 1993. |
....an accurate form used to summarize array regions accessed in each node of the LCG. For this, we use the ID that is generated from the LMADs for a loop. As shown in Section 4, the LMAD can accurately represent array accesses with affine or non affine expressions. Thus, unlike most other techniques [2, 10, 14, 24, 26], our technique works whether subscripts and loop limits expressions are affine or non affine. Also, our technique is interprocedural since the LMAD can represent array access across procedure boundaries efficiently, as described in [22] 5.2.2 Intra phase Locality Let # # ### ## be the ID for ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The Alignment-Distribution Graph. LCPC, August 1993.
....and remapping) an automatic data mapping framework should not solve them independently. Let us first motivate the coupling of the alignment and distribution subproblems. When they are solved independently (Li and Chen [24] Gupta et al. 15] Kremer and Kennedy [20] Chatterjee et al. [8], Ayguad e et al. 3] the alignment step may impose some constraints, in terms of parallelism exploitation, to the distribution step. For instance, assume the simple example shown in Figure 1. The loop includes two statements in its body: an assignment of matrix B to matrix A, and an assignment ....
....The alignment problem has been proven to be NP complete; for this reason, Li and Chen [24] and other authors working from modifications of this initial work [15, 3] propose a heuristic algorithm to solve this problem. Other researchers propose the use of algorithms based on dynamic programming [8]; however, in [20] they find an optimal solution to their alignment problem by using 0 1 integer programming techniques. In order to solve the distribution problem, an exhaustive search is usually performed. In [25] the authors describe a model that exhaustively explores all distribution options, ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In U. Banerjee et al., editors, Proceedings of the 6th Annual Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993. Springer-Verlag.
....60 milliseconds to solve, i.e. three times longer than the standard version. The comparison between standard rep and standard rep constr shows the overhead due to the additional memory constraints. 5 Related Work The problem of automatic data layout has been addressed by many researchers [AL93, CGS93, CGST93, Gup92, HA90, KLS90, KLD92, LT93, LC90, RS89, BKK 94a, Who91] The presented solutions differ significantly in the assumptions that are made about the input language, the possible set of data layouts, the compilation system, and the target machine architecture. Our work is similar in ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993.
.... tree (e.g. reduction) and unstructured (e.g. transpose) Communications are further classified as intrinsic (arising from operations that require data movement as part of the operation) or residual (the communication is necessitated by non local data references) This work is extended in [11] where the Alignment Distribution Graph (ADG) is described. This graph is used to model residual communication. This tool is used again in [12] where algorithms are presented to determine good mobile alignments. Mobile alignments are those that may be a function of the loop variable. Nicol and ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The alignment-distribution graph. Technical Report 93.06, RIACS, 1993.
....due to false sharing. Most previous work has focused upon subproblems such as optimizing locality for a single loop nest [12, 9, 10] Other authors have focused upon the problem of scheduling loop iterations and transforming loops for maximumparallelism[5, 11] or optimizing data distribution[6]. All these approaches do not generalize easily to the problem of globally optimizing for both parallelism and locality. The fundamental insight to overcoming these limitations is that parallelism and locality cannot be optimized independently. What is needed is a program representation and ....
....of reference is viewed as two independent subproblems. First, transform the program to expose the parallelism in the program. Next, analyze the array accesses in the parallel loops to determine the data and computation distributions that optimize the locality of reference (PARADIGM[7] and ADG[6]) But the optimality can only be obtained if subproblems are treated together[1] Our approach brings both program transformations for parallel and determining distributions of data and computation to processors into a single framework. The closest related work is that of Anderson and Lam[1] ....
[Article contains additional citation context not shown here]
Chatterjee, S., Gilbert, J., and Schreiber, R. The alignment-distribution graph. In Sixth Workshop on Languages and Compilers for Parallel Computing (July 1993), pp. 234--252.
....addressing the topic of automatic data iterations distribution. One of the research lines decomposes the problem into two subproblems which should be addressed independently: i) the alignment problem; ii) the distribution problem. The majority of researchers have focussed on stage i) 9] 4] [6]. In other research line the data distribution problem has been formulated as a 0 1 lineal programming model [10] 7] In the approach presented in [1] the goal is finding a static data iterations decomposition without communications; if that is not possible, then a redistribution of data is ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In U. Banerjee, editor, Proceedings of LCPC'93, number 768 in LNCS. Springer Verlag, Portland, OR., August 1993.
....column wise data layout. The right hand side depicts a dynamic data layout where transpose operations will be performed between the row and column sweeps. 4 Related Work The problem of finding an efficient data layout for a distributed memory multiprocessor has been addressed by many researchers [2, 8, 9, 10, 13, 15, 17, 18, 19, 23, 24, 26, 28]. The presented solutions differ significantly in the assumptions that are made about the input language, the possible set of data layouts, the compilation system, and the target distributed memory machine. Even though many researchers have recognized the need for dynamic remapping and are ....
....though many researchers have recognized the need for dynamic remapping and are planning to develop solutions, our work is one of the first to provide a framework for automatic data layout that considers dynamic remapping. Knobe, Lukas, and Dally [19] and Chatterjee, Gilbert, Schreiber, and Teng [9, 10] address the problem of dynamic alignment in a framework particularly suitable for SIMD machines. Anderson and Lam discuss techniques for automatic data layout for distributed and shared address space machines [2] Their approach considers dynamic remapping. Lee and Tsai propose a dynamic ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993.
....step relaxes an overconstrained system so that non trivial solution involving parallelism can be found. In the final step the remaining system of constraints is solved to determine data and computation placement. Other alignment heuristics based upon the above approach have also been developed [13, 36]. The relaxation step upon which the above techniques rely may not be feasible for many important problems such as image processing. In order to achieve communication free parallel execution for such applications, one must replicate the data at all processors. Thus, in such situations, one must ....
S. Chatterjee, J. Gilbert, and R. Schreiber, "The Alignment-Distribution Graph," Languages and Compilers for Parallel Computing. Sixth International Workshop., number 768 in LNCS. Springer-Verlag, 1993.
....integer programming problem to obtain the alignment distribution for the arrays. They obtain static distributions for a program. They support distribution on only one dimension of the array but have outlined an extension of their method to support multi dimensional distribution. Chatterjee et al. [6, 7, 34] obtain an alignment distribution for a program as a two phase procedure. They do alignment first 19 and then obtain a distribution. They represent a program using an alignment distribution graph. Each node in the graph corresponds to an array operation. An edge connects the definition of an ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The alignment distribution graph. RIACS Tech. Report.
....of homogeneous linear equations which can be solved by the Gaussian elimination method. Both the LA and the CA are polynomial in complexity. They are the major contributions of this paper. Our approach has been influenced by the work of Lam et al. 3, 2, 1] Feautrier [14] and Chatterjee et al. [6, 9, 7]. However, our work generalizes and improves their work in several ways. Some detailed comments are in Section 8. This paper is organized as follows. In Section 2, we give an overview of our compiler and major components of our automatic decomposition module. Section 3 presents a classification of ....
....be very realistic. Darte and Robert [10, 12, 11] Darte and Robert followed the same statement distributing approach as Feautrier [14] did. They treated a class of more restricted loop nests, called uniform loop nests. These are perfect nests with constant data dependences. Chatterjee et al. [6, 9, 7, 8]: Chatterjee et al. proposed a framework to determine data decompositions by deciding to align the data arrays to a template, which can be thought of as virtual processors. Our work is more general than theirs in several aspects. First, we are not restricted to aligning one dimension of an array ....
S. Chatterjee, J. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Auguest 1993.
....of both nodes with the same decomposition is higher than the performance of each individual decomposition plus the remapping cost. They proved in [AL93] that the dynamic data distribution problem in the presence of control flow between loop nests is NP hard. Schreiber et al. Schreiber et al. CGS93, CGSS94] at the Research Institute for Advanced Computer Science and at Xerox Park, in the framework of the Excalibur project, propose a methodology for compiling array oriented languages, such as Fortran 90. They have developed a data flow representation called the Alignment Distribution Graph ....
....Fortran 90. They have developed a data flow representation called the Alignment Distribution Graph (ADG) consisting of ports, nodes and edges. Ports represent array objects, nodes represent program operations and edges connect definitions of array objects to their usage in these operations. In [CGS93] they solved the alignment problem using a dynamic programming approach, trying to minimize data movement costs. In [CGSS94] they use a divide and conquer approach to the dynamic mapping problem. They initially assign a static mapping valid for all the nodes and then recursively divide them into ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In U. Banerjee et al., editors, Proceedings of the 6th Annual Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993. Springer-Verlag.
....of using 0 1 integer programming for solving placement problems. Most of the groups have two basic approaches in common, both of which result in suboptimal solutions: process placement is derived from data placement and placement of temporaries is not considered. Gilbert, Schreiber, Chatterjee [4, 5, 12, 30] base their work on the Alignment Distribution Graph. In contrast to the approaches mentioned before, the authors tackle the problem of placing intermediate results. To our knowledge, their model for representing the cost of communication on the underlying topologies is the most advanced. It ....
S. Chatterjee, J. Gilbert, and R. Schreiber. The alignment-distribution graph. In 6th Workshop on Languages and Compilers for Parallelism, pp. 234--252, Portland, OR, 1993.
....12 test cases. In all cases distributing the second dimension was the best choice. A dynamic data layout was never profitable. In all cases the prototype tool selected the best data layout. 5 Related Work The problem of automatic data layout has been addressed by many researchers [AL93, CHZ91, CGS93, CGST93, Gup92, HA90, Ke 93, KLS90b, KLD92, LT93, LC91, RS89, Who91] The presented solutions differ significantly in the assumptions that are made about the input language, the possible set of data layouts, the compilation system, and the target machine architecture. Our work is similar in ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993.
.... and Chapman weight CAG edges with an estimate of the data movement cost assuming the worst case [LC96] Similarly, Kremer determines the edge weights as the maximum data volume of communication that may occur if the corresponding alignment preference is not satisfied [Kre95] Schreiber et al. CGS93] propose an alternative representation to solve the alignment problem: the alignment distribution graph (ADG) Computations are represented by nodes with edges modeling the flow of data. Edges are weighted by the communication costs that will occur if the source and sink nodes do not have ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In U. Banerjee et al., editors, Proceedings of the 6th Annual Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993. Springer-Verlag.
....was removed from the lists are obtained through communication. the communication statements are generated by the HPF compiler[25] The data access descriptors capture the data access patterns. The data access patterns can be represented using a weighted graph like an alignment distribution graph [5], Component Affinity Graph [20] 12] which can then be analyzed to obtain alignment and distribution for the arrays in the region of analysis. Alternately the analysis can be done off line and then stored in a table indexed by data access pattern descriptors. The table based approach is a fast ....
....integer programming problem to obtain the alignment distribution for the arrays. They obtain static distributions for a program. They support distribution on only one dimension of the array but have outlined an extension of their method to support multi dimensional distribution. Chatterjee et al. [5, 6, 28] obtain an alignment distribution for a program as a two phase procedure. They do alignment first and then obtain a distribution. They represent a program using an alignment distribution graph. Each node in the graph corresponds to an array operation. An edge connects the definition of an array ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The alignment distribution graph. RIACS Tech. Report.
....data type real and a problem size of 384 Theta 384. The static performance estimates slightly overestimate the measured timings. However, the relative performance is predicted with high accuracy. 5 Related Work The problem of automatic data layout has been addressed by many researchers [AL93, CGS93, CGST93, Gup92, HA90, Ke 93, KLS90, KLD92, LT93, LC90, RS89, BKK 94a, Who91] The presented solutions differ significantly in the assumptions that are made about the input language, the possible set of data layouts, the compilation system, and the target machine architecture. Our work is ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993.
....to solve, i.e. approx. four times longer than the standard version. The comparison between standard rep and standard rep constr shows the overhead due to the additional memory constraints. 5 Related Work The problem of automatic data layout has been addressed by many researchers [AL93, CGS93, CGST93, Gup92, HA90, KLS90, KLD92, LT93, LC90, RS89, TA96, BKK 94a, Who91] The presented solutions differ significantly in the assumptions that are made about the input language, the possible set of data layouts, the compilation system, and the target machine architecture. Our work is ....
S. Chatterjee, J.R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Portland, OR, August 1993.
....graphs Our main tool in this paper is a modified and annotated data flow graph that we call the alignment distribution graph, or ADG for short. In this section we briefly describe the ADG and formulate the alignment problem as an optimization problem on the ADG. A companion paper [3] presents a more formal and complete treatment of the ADG. The ADG is closely related to the static single assignment form of programs developed by Cytron et al. 6] Figure 2 shows the ADG for the program fragment in Figure 1. Nodes in the ADG represent computation; edges represent flow of data. ....
....to linear programming [5] Let the integer # x be the offset al..ignment of port x.Then the residual communication cost (which is the function we want to minimize) is C###= P #x;y#2E C xy ###;so w xy j# x , # y j: Nodes introduce linear constraints relating the offsets of their ports. See [3] for more details. To remove the absolute value from the objective function, we introduce a variable # xy for every edge #x; y# of the ADG, and add two inequality constraints, # xy # x , # y # 0 # xy , # x # y # 0; that guarantee that # xy #j# x , # y j. The new objective function is ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The alignment-distribution graph. In Proceedings of the Sixth Annual Workshop on Languages and Compilers for Parallelism, Portland, OR, Aug. 1993. To appear.
....[11] Let the integer x be the offset al..ignment of port x. Then the residual communication cost (which is the function 20 we want to minimize) is C( P (x;y)2E C xy ( so C( X (x;y)2E w xy j x Gamma y j: Nodes introduce linear constraints relating the offsets of their ports [9]. To remove the absolute value from the objective function, we introduce a variable xy for every edge (x; y) of the ADG, and add two inequality constraints, xy x Gamma y 0 xy Gamma x y 0; that guarantee that xy j x Gamma y j. The new objective function is then X ....
S. Chatterjee, J. R. Gilbert, and R. Schreiber. The alignment-distribution graph. In U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors, Languages and Compilers for Parallel Computing, volume 768 of Lecture Notes in Computer Science, pages 234--252. Springer-Verlag, 1994. 29
....true for the weighted case. We can still get a compact dynamic programming algorithm whose running time does not depend on P,however, by using the fact that every internal node can be embedded at the position of some leaf of T . The algorithm #Algorithm 7.2. 2# is much simpler 26 # Siddhartha Chatterjee et al. w x y z v 1 10 10 1 Fig. 10. A weighted tree in which the internal node x cannot be embedded at the position of any leaf of its subtree. than the unweighted ring algorithm; it just traverses the nodes of T , tabulating the subtree cost functions for every leaf position at every node. This takes O#N 3 # time ....
Chatterjee, S., Gilbert, J. R., and Schreiber, R. 1994a. The alignment-distribution graph. In Languages and Compilers for Parallel Computing, U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, Eds. Lecture Notes in Computer Science, vol. 768. Springer-Verlag, New York, 234#252.
No context found.
S. Chatterjee, J. Gilbert, and R. Schreiber. The alignmentdistribution graph. In U. Banerjee, editor, Proceedings of LCPC'93, number 768 in LNCS. Springer Verlag, Portland, OR., August 1993.
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