| Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, 12:118--129, 1991. |
....tions uses to create the proper function tuples. Renaming is done using Algorithm 5.4, as before. 7.5 Dataflow and control dependence The SSI semantics are data driven, and thus bring to mind work on com pilers for dataflow machines. Beck, Johnson, and Pingali have previously written [6] on the benefits of dataflow oriented intermediate representa tions. However, the previous work on dataflow compilers (Traub [42] for example) has concentrated on intra loop dependencies, often leaving in pseudo control flow edges to serialize non loop structures. This strategy results in the ....
M. Beck, R. Johnson, and K. Pingait. From control flow to data- flow. Journal of Parallel and Distributed Computing, 12(2):118- 129, June 1991.
....tions uses to create the proper E function tuples. Renaming is done using Algorithm 5.4, as before. 7.5 Dataflow and control dependence The SSI semantics are data driven, and thus bring to mind work on com pilers for dataflow machines. Beck, Johnson, and Pingall have previously written [6] on the benefits of dataflow oriented intermediate representa tions. However, the previous work on dataflow compilers (Traub [42] for example) has concentrated on intra loop dependencies, often leaving in pseudo control flow edges to serialize non loop structures. This strategy results in the ....
M. Beck, R. Johnson, and K. Pingali. From control flow to data- flow. Journal of Parallel and Distributed Computing, 12(2):118- 129, June 1991.
....and other definitions uses to create the proper function tuples. Renaming is done using Algorithm 5.4, as before. 7.5 Dataflow and control dependence semantics are data driven, and thus bring to mind work on compilers for dataflow machines. Beck, Johnson, and Pingali have previously written [6] on the benefits of dataflow oriented intermediate representations. However, the previous work on dataflow compilers (Traub [42] for example) has concentrated on intra loop dependencies, often leaving in pseudo control flow edges to serialize non loop structures. This strategy results in the sort ....
M. Beck, R. Johnson, and K. Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12(2):118-- 129, June 1991.
....control dependences. We write CDF (X; Y ) for the transitive closure of the above relation, formally: CDF (X; Y ) CDF(X; Y ) or 9W : CDF (X; W ) and CDF(W; Y ) Several characterizations of transitive control dependence have been given in the literature. Beck, Johnson and Pingali [BJP91] prove that two nodes X and Y are in the transitive control dependence relation (i.e. CDF (X; Y ) if and only if Y is between X and its immediate postdominator, where between ness is defined as: Definition 5.6 The node Y is between the node X and its immediate post dominator IPD(X) whenever ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
....of construction and optimization algorithms. The dependence flow graph (dfg) was originally developed for compiling imperative languages for dataflow architectures. It was also employed as an intermediate form for use in optimizing, parallelizing FORTRAN compilers for conventional architectures [BJP91, Bec92] Dependence flow graphs integrate data and control dependence information into a single structure, making efficient algorithms for program analysis and optimization possible [JP93, Joh95] Dependence flow graphs for even unstructured code can be constructed in linear time [JPP94] Also, ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, pages 12:118--129, 1991.
.... (TTDA) ACI 83] or be interpreted by a graph interpreter (GITA) Other backends translate program graphs for the Monsoon dataflow machine [PC90] and for the P RISC machine[NA89] Some other very interesting approaches compile FORTRAN programs into representations similar to program graphs[BP89, FOW87] 13 Chapter 2 Dual Graphs Compilation of Id90 to TAM begins after generation of dataflow program graphs. The meaning of program graphs is given in terms of a dataflow firing rule, so control flow is implicitly prescribed by the dynamic propagation of values. In our threaded execution ....
M. Beck and K. Pingali. From Control Flow to Dataflow. Technical Report TR 89-1050, CS Dep., Cornell University, October 1989.
....in general is presented as a dataflow graph. One of the problems in this field is how to provide a more user friendly interface, either in the form of a high level parallel language, or by translating conventional language to dataflow. Our work is certainly relevant to this aim. A recent paper[9] gives an algorithm for translating FORTRAN to dataflow graphs. Here again the problem is with arrays. A dataflow machine has no difficulty in executing the flowgraph equivalents of doall or doacross loops. Detecting such loops, however, must use classical techniques like dependence analysis. ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
....above branch points. Switches are merge points for backwards program execution, so the DFG makes it as easy to perform backwards as forwards analyses. MIT dataflow graphs [AN90] differ from VDGs by including tokens for control and by not needing to represent machine state, such as stores. BJP91] suggests a dataflow like intermediate representation that shares many of our goals and concerns. However, it uses tokens to represent control, which keeps explicit control in the program representation. The authors of [BJP91] have since abandoned the dataflow model and are now investigating DFGs ....
....control and by not needing to represent machine state, such as stores. BJP91] suggests a dataflow like intermediate representation that shares many of our goals and concerns. However, it uses tokens to represent control, which keeps explicit control in the program representation. The authors of [BJP91] have since abandoned the dataflow model and are now investigating DFGs [JP93] The gated single assignment (GSA) component of the program dependence web [BMO90, CKB93] is similar to the VDG, but transformation is hindered by the need to keep three different representations in sync, and it fails ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
....scheduling, data path allocation. The dependence flow graph (dfg) was originally developed for compiling imperative languages for dataflow architectures. It was also employed as an intermediate form for use in optimizing, parallelizing FORTRAN compilers for conventional architectures [1]. Dependence flow graphs integrate data and control dependence information into a single structure, making efficient algorithms for program analysis and optimization possible [8] Dependence flow graphs for even unstructured code can be constructed in linear time [7] Also, dependence flow graphs ....
M. Beck, R. Johnson, and K. Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, pages 12:118--129, 1991.
....subsegments. For example, a one dimensional FORTRAN array of reals could be represented by a composite memory node since the array is actually a group of several individual memory elements (see Figures 2(a, b) DO I = 1 TO 3 A[I] A[I] 1 (a) DO I = 1 TO 3 A[I] A[I] 1 A[1] A[2] A[3] (b) A[1] A[1] 1 A[2] A[2] 1 A[3] A[3] 1 A[1] A[2] A[3] c) Figure 2. Computation Node and = Memory Node. 8 An atomic memory node consists of a single memory segment. For example, a single floating point memory segment would be represented by an atomic memory node as in ....
.... FORTRAN array of reals could be represented by a composite memory node since the array is actually a group of several individual memory elements (see Figures 2(a, b) DO I = 1 TO 3 A[I] A[I] 1 (a) DO I = 1 TO 3 A[I] A[I] 1 A[1] A[2] A[3] b) A[1] A[1] 1 A[2] A[2] 1 A[3] = A[3] 1 A[1] A[2] A[3] c) Figure 2. Computation Node and = Memory Node. 8 An atomic memory node consists of a single memory segment. For example, a single floating point memory segment would be represented by an atomic memory node as in Figure 2(c) A composite node in a VMPP ....
[Article contains additional citation context not shown here]
Micah Beck, Richard Johnson, and Keshav Pingali, "From Control Flow to Dataflow", Journal of Parallel and Distributed Computing, Vol. 12, No. 2, June 1991.
No context found.
Micah Beck and Keshav Pingali. From control flow to dataflow. In Proceedings of the 1990.
No context found.
M. Beck and K. Pingali. From control flow to dataflow. Technical Report TR89-1050, Cornell University, October 1989.
No context found.
M. Beck and K. Pingali. From control flow to dataflow. Technical Report TR89-1050, Cornell University, October 1989.
....the value 3 will be generated on arc v1. In a forthcoming paper, we will describe how dependence flow graphs are constructed, starting from the control flow graph of a program. This construction can handle unstructured control flow. Some preliminary ideas are presented in an earlier paper [BP90] From an analysis of the construction, we show two facts. ffl Dependence flow graphs constructed by our algorithm satisfy Bernstein s conditions: that is, a store operator can never be enabled for execution simultaneously with another store or load operator on the same storage location ....
....the unique naming of dependencies is fundamental and not a variant used for optimizations. Updatable storage locations can be eliminated in a dependence flow graph through a simple program transformation in essence, imperative dependencies are converted into functional dependencies [BP90] In translating the dataflow language VAL into static dataflow graphs, Ackerman defined an intermediate representation called VAL program graphs [Ack84] This representation has become popular in the dataflow world; with minor modifications, it has been used by Traub to translate the dataflow ....
Micah Beck and Keshav Pingali. From control flow to dataflow. In Proceedings of the 1990 International Conference on Parallel Processing, August 1990.
....form called Kudos which is used to translate fortran and functional languages into code for the Empire hybrid dataflow machine [Eka90] Suhler at IBM, and Ballance, Maccabe and Ottenstein at Los Alamos, have been working on implementing fortran on dataflow machines. In an earlier paper [BP89] we solved this problem completely, and pointed out the advantages of basing intermediate languages on the dependence driven execution model. While our suggestion has been taken to heart by these researchers [BMO90] it is too early to tell if there will be a convergence of these ongoing ....
M. Beck and K. Pingali. From control flow to dataflow. Technical Report TR89-1050, Cornell University, October 1989.
....analysis problems since the PST can be used to isolate regions of the graph where information must be recomputed. The PST is also useful in generating code for dataflow machines from programs in a language like FORTRAN or C since it exposes SESE regions which dataflow edges can potentially bypass [BJP91, BMO90] There is an enormous body of work on elimination and iteration algorithms, and we refer the reader to surveys by Ryder and Paull [RP86] and by Kennedy [Ken81] Tarjan and Valdes use a hierarchical representation of SESE regions of a different kind to do elimination [Val78, TV80] ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
....in both expressing computations as dataflow or dependence flow graphs, and scheduling them in complex and changing environments. There is a vast body of work on scheduling distributed computations [5,6] and scheduling computations based on dataflow graphs [30,35,36] and dependence flow graphs [3, 28] which we intend to use as the basis for NetSolve coscheduling strategies. These range from dynamic strategies based on caching algorithms to allocation schemes based on graph partitioning. All such approaches exploit some ability to use and manage state in the network, and thus are relevant ....
M. Beck, R. Johnson, and K. Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
....in Computer Science. The following publications acknowledge support from one or both of the NSF grants listed above, and are listed in reverse chronological order. This list omits a few papers Pingali wishes he had not published [9] 58] 68] 96] 84] 66] 59] 52] 65] 67] 56] [10], 55] 7.2.2 Development of Human Resources During the current funding period, the following graduate students received doctoral degrees: Anne Rogers (assistant professor, Princeton University) Micah Beck (assistant professor, University of Tennessee at Knoxville) Wei Li (assistant professor, ....
M. Beck, R. Johnson, and K. Pingali. From control flow to dataflow. Journal of Parallel Distributed Computing, 12:118--129, 1991.
....picture of the DFG in this paper can be extended to include aliasing, data structures, anti and output dependences, loop recognition, and distance direction information for loop carried dependences. Our treatment of aliasing, and anti and output dependences is discussed in an earlier paper [BJP91] We are implementing a DFG tool kit for parallelization and optimization, and we will report on experimental results in another paper. We conclude with a discussion of what we have learned so far from our implementation. First, we have found that it is neither necessary nor desirable to use a ....
....single assignment has nothing to do with the DFG (or for that matter, static single assignment form) it is best to view these representations as a way of knitting control dependence information with def use information. This view has two advantages. First, aliasing can be handled very simply [BJP91] Second, control dependences can also be combined with anti and output dependences without the need for a new conceptual framework. Finally, in the context of optimization, control dependence equivalence is more important than control dependences per se. The construction of the DFG requires an ....
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to dataflow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
No context found.
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
No context found.
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
No context found.
Micah Beck, Richard Johnson, and Keshav Pingali. From control flow to data flow. Journal of Parallel and Distributed Computing, 12:118--129, 1991.
No context found.
Micah Beck and Keshav Pingali. From control flow to dataflow. Technical Report TR 89-1050, Department of Computer Science, Cornell University, Ithaca, NY 148537501, October 1989.
No context found.
Micah Beck and Keshav Pingali. From control flow to dataflow. In Proceedings of the International Conference on Parallel Processing, Volume II, pages 43-52, 1990.
No context found.
M. Beck and K. Pingali. From control flow to dataflow. In Proceedings of the 1990 International Conference on Parallel Processing, 1990.
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