21 citations found. Retrieving documents...
M. Girkar, C.D. Polychronopoulos, "The Hierarchical Task Graph as a Universal Intermediate Representation", International Journal of Parallel Programming, vol. 22, no. 5, October 1994.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Issues and Experiences in Implementing a Distributed.. - Fenwick, Jr., Pollock (1996)   (Correct)

....of parallelism. Functional, task, or DAG parallelism is the parallelism that can be exploited among different operations in a program by using data and control dependences [38] This type of parallelism is more coarsely grained than loop level parallelism. A Linda compiler may apply other research [38, 25] to extract these finer grained kinds of parallelism present in individual, explicitly specified Linda processes. Tuplespace is an associative memory, thus tuples are accessed not by an address but rather by their contents. Accessing a tuple therefore requires a description of the tuple desired. ....

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5):519--551, 1994.


The Role of Graphics in Parallel Program Development - Zhang, Hintz, Ma (1999)   (2 citations)  (Correct)

....components of any granularity and arc connecting nodes specify data or control flows that are not constrained by granularity. Parallelism is naturally shown through dependence relationships among computational nodes. Code generation can be easily achieved if graph nodes support fine granularity [28]. Although several dependence graph models have been defined on some graph formalism, such as the Phred graph grammar, there has been no commonly accepted formalism for general dependence graphs. Visual vocabulary, as well as graphical notations, vary with different dependence graph models. 3.3. ....

M. Girkar & C. D. Polychronopoulos (1994) The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming 22, 519}551.


Code Generation and Run-time Support for.. - González..   (Correct)

....support required at the threads level to support nested parallelism is not trivial and not available in current systems. 1 In this paper we present a unified model for the efficient exploitation of multilevel parallelism using a single internal data structure: the Hierarchical Task Graph (HTG [GiPo94] The HTG representation captures parallelism information at different levels of granularity (either expressed by the user through OpenMP directives or automatically discovered by the compiler by means of a detailed analysis of data and control dependences) Some extensions have been included ....

M. Girkar and C.D. Polychronopoulos. The Hierarchical Task Graph as a Universal Intermediate Representation. International Journal of Parallel Programming, vol. 22, no. 5, October 1994.


HTGviz: A Graphic Tool for the Synthesis of Automatic and.. - Giordano, Furnari   (Correct)

....should rely on. The task graph could be considered the program intermediate representation closer to the user conceptual program representation in case of parallel execution. Therefore we chose to carry out the user compiler interaction on the program Hierarchical Task Graph (HTG) as defined in [4, 5, 3, 6]. Since the HTG representation does not depend on the particular input language, it can be considered abstract. HTG nodes are tasks, defined as sections of code delimited by natural boundaries (loops, statements, subroutine calls, and basic blocks) HTG arcs represent precedence relations that ....

....of loop transformations and dependence analysis. Since loops are tasks, and loop body may include other nested loops, the structural complexity of the task graph could overcome user capability. To express this hierarchical structure we adopted the Hierarchical Task Graph (HTG) representation [4, 5, 3, 6]. At the highest hierarchy level all TG nodes are simple nodes and represent single statements (including subroutine calls) that is the smaller program units that can be scheduled for execution. The transition to a lower hierarchy level is obtained: 1) grouping nodes into a compound node ....

Girkar, M.B., Polychronopoulos, C.D.: The Hierarchical Task Graph as a Universal Intermediate Representation. Int. J. Parallel Programming 22 (1994) 519--551


A Graphic Parallelizing Environment for User-Compiler.. - Calidonna, Giordano, Mango (1999)   (Correct)

....in an arbitrary number of nestings, we understand that the structural complexity of the task graph could overcome the users capability. To manage this situation a better program representation is given considering a hierarchical version of the task graph, named Hierarchical Task Graph (HTG) [5, 6, 7, 8]. At the highest hierarchy level all nodes in the task graph are simple nodes, representing single statements (including subroutine calls) that is the smaller program units that can be scheduled for execution. The transition to a lower hierarchy level is characterized by grouping nodes into ....

Girkar M. and Polychronopoulos C.D. The Hierarchical Task Graph as a Universal Intermediate Representation. Int. J. Parallel Programming, 22 (1994), 519--551.


A Comparison of Different Multithreading Architectures - Hordijk, Corporaal (1997)   (Correct)

....the path(s) that need to befollowed. The hardware is responsible for checking that one of these paths is actually taken. Otherwise, the thread is squashed. Parafrase Architecture: The Parafrase project studies the exploitation of functional parallelism using the Hierarchical Task Graph (HTG) [9]. The HTG is an intermediate program representation, which is the basis for code generation and program optimization. The thread graph is structured such that it fully encapsulates the parallelism of all types and at all levels of granularity. All dependencies between the threads are analyzed by ....

Milind Girkar and Constantine D. Polychronopoulos. The Hierarchical Task Graph as a Universal Intermediate Representation. International Journal of Parallel Programming, pages 519--551, 1994.


Exploiting Multi-Grained Parallelism For.. - Newburn (1997)   (2 citations)  (Correct)

....of these processes be at the procedure level. Usually, the programmer must specify this kind of parallelism with special language features [Ari82, SH86] or library calls [SFG91, TRG 87, GBD 91] There has been some related work in scheduling pre partitioned task graphs [ERA91, GY92, GP94, YFGS95] and in partitioning graphs for parallel execution [GP94, RNSB94] The third approach exploits data parallelism by performing the same functionality in parallel on different data sets. This type of parallelism is exploited almost exclusively among Table 6.6: Synchronization Overhead ( ....

.... programmer must specify this kind of parallelism with special language features [Ari82, SH86] or library calls [SFG91, TRG 87, GBD 91] There has been some related work in scheduling pre partitioned task graphs [ERA91, GY92, GP94, YFGS95] and in partitioning graphs for parallel execution [GP94, RNSB94] The third approach exploits data parallelism by performing the same functionality in parallel on different data sets. This type of parallelism is exploited almost exclusively among Table 6.6: Synchronization Overhead ( With Respect to Two Cycle Latency Benchmark 2 5 10 20 50 100 ac ....

M.Girkar and C.Polychronopoulos. The Hierarchical Task Graph as a Universal Intermediate Representation. International Journal of Parallel Programming, 22(5):519--551, October 1994.


Compiling for Heterogeneous Systems: A Survey and an.. - McKinley, Singhai.. (1995)   (1 citation)  (Correct)

....in the literature. ParaScope and SUIF are mature compilers with a wide assortment of features; Parafrase 2, Polaris, and VFCS are more recent systems. Sage is the only compiler framework. 2. 1 Parafrase 2 Parafrase 2 is a source to source translator from the University of Illinois [PGH 89, GP94] The goal of Parafrase 2 is to be a research tool for investigating compiler support for multiple languages and target architectures. Rather than try to build everything into Parafrase 2 from the beginning, the authors strive to make it flexible enough for later additions. Parafrase 2 currently ....

Milind B. Girkar and Constantine Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5), 1994.


Compiler Representations for Heterogeneous Processing - Weaver (1995)   (Correct)

....is unique in that it focuses on control parallelism as well as data parallelism. For control parallelism, Parafrase 2 partitions a program into parallel tasks while minimizing dependences between tasks, and for data parallelism, it parallelizes the execution of loops. Girkar and Polychronopoulos [37] designed an intermediate representation to meet the needs of Parafrase2: Hierarchical Task Graphs (HTG) HTGs are hierarchical graphs much like the output of interval analysis. The leaves in an HTG represent simple statements and subroutine calls. Interior nodes represent loops and basic blocks ....

Milind B. Girkar and Constantine Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5), 1994.


The Potential of Exploiting Coarse-Grain Task Parallelism.. - Hordijk, Corporaal   (Correct)

....now. Numerous studies have proven the existence of a large potential of coarse grain task parallelism in sequential programs, see for instance [3, 4] On the other hand only a few actual system designs have been developed and these exploit only a limited amount of coarse grain task parallelism [5, 6, 7]. Most of the research has been focussed on generation of data independent tasks. The performance of these exploitation techniques is still poor, especially for tasks with larger granularity; e.g. Beckmann [8] reports a parallelism of about 1.5 for coarse grain tasks. The explanation of these ....

....techniques is still poor, especially for tasks with larger granularity; e.g. Beckmann [8] reports a parallelism of about 1.5 for coarse grain tasks. The explanation of these disappointing results is given by the fact that function calls are only in 18 percent data independent from each other [6] 1 . For basic blocks and individual statements this is 45 and 76 respectively. It must be concluded that finegrain (instruction level) parallelism can be exploited more easily. And for the extraction of coarse grain task parallelism a solution for the extreme data dependence problem is ....

[Article contains additional citation context not shown here]

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representati on. International Journal of Parallel Programming, 22(5):519-- 551, 1994.


The Impact of Data Communication and Control Synchronization.. - Jeroen Hordijk (1996)   (1 citation)  (Correct)

....pieces. Numerous studies have proven the existence of a large potential of coarse grain task parallelism in sequential program, see for instance [1, 2] On the other hand only a few actual system designs have been developed and these exploit only a limited amount of coarse grain task parallelism [3, 4]. The most important goal of our study is to discover which abstract machine characteristics give rise to these large differences in parallelism. The most effective machine models presented in the paper also suggest the future direction of the research in automatic exploitation of coarse grain ....

....of these exploitation techniques is still poor, especially for tasks with larger granularity; e.g. Beckmann [6] reports a parallelism of about 1.5 for coarse grain tasks. The explanation of these disappointing results is given by the fact that function calls are only in 18 percent data independent [4] 1 . For basic blocks and individual statements this is 45 and 76 respectively. It must be concluded that fine grain (instruction level) parallelism can be exploited more easily. And for the extraction of coarse grain task parallelism a solution for the extreme data dependence problem is ....

[Article contains additional citation context not shown here]

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representati on. International Journal of Parallel Programming, 22(5):519--551, 1994.


Compiling for Heterogeneous Systems: A Survey and an.. - McKinley, Moss.. (1995)   (1 citation)  (Correct)

....intermediate representation, and optimizations and transformations of the six systems. Table 1 summarizes this information and Table 2 lists specific optimizations and transformations. 2. 1 Parafrase 2 Parafrase 2 is a source to source translator from the University of Illinois [P 89, GP94] The goal of Parafrase 2 is to be a research tool for investigating compiler support for multiple languages and target architectures. Rather than try to build everything into Parafrase 2 from the beginning, the authors strive to make it flexible enough for later additions. Parafrase 2 currently ....

M. B. Girkar and C. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5), 1994.


On The Quest For Perfect Load Balance In Loop-Based Parallel.. - Sakellariou (1998)   (4 citations)  (Correct)

....is added as an operand to all the statements that are control dependent on the IF, thus creating a data flow dependence. This technique is described in [4] More recently there have been proposals to represent both control and data dependences in a consistent manner using an intermediate language [81, 82]. Another school of research has investigated the benefits resulting from use of the control flow graph, i.e. the graph representing control dependences [54, 71] The identification of data dependences is generally trivial for scalar variables; the real problems arise with the use of array ....

M. Girkar, C. D. Polychronopoulos, "The Hierarchical Task Graph as a Universal Intermediate Representation", International Journal of Parallel Programming, 22-5, 1994, pp. 519--551.


Issues and Experiences in Implementing a Distributed.. - Fenwick, Jr., Pollock (1996)   (Correct)

....parallelism. Functional, task, or DAG parallelism is the parallelism that can be exploited among different operations in a program by using data and control dependences [38] targeting a parallelism that is more coarsely grained than loop level parallelism. A Linda compiler may apply other research [38, 25] to extract these finer grained kinds of parallelism present in individual, explicitly specified Linda processes. Tuplespace is an associative memory, thus tuples are accessed not by an address but rather by their contents. Accessing a tuple therefore requires a description of the tuple desired. ....

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5):519--551, 1994.


Compiler Architectures for Heterogeneous Systems - McKinley, Singhai, Weaver.. (1995)   (1 citation)  (Correct)

....section describes the general approach, programming model, organization, intermediate representation, optimizations and transformations of the six systems and summarizes them in Table 1. 2 System Overviews and Goals Parafrase 2 is a source to source translator from the University of Illinois [19, 33]. Its design goal is to investigate compilation support for multiple languages and target architectures. It easily adapts to new language extensions because its IR emphasizes data and control dependences, rather than language syntax. Rice University s ParaScope is an interactive parallel ....

M. B. Girkar and C. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5), 1994.


Global Compiler Analysis for Optimizing Tuplespace.. - James Fenwick (1996)   (Correct)

....from other types of parallelism. Functional, task, or DAG parallelism is the parallelism that can be exploited among different operations in a program by using data and control dependences [12] targeting a parallelism that is more coarsely grained than loop level parallelism. Other research [12, 13] may be applied by a Linda compiler to extract these finer grained parallelisms present in individual, explicitly specified Linda processes. The placeholders of in, rd, inp, and rdp operations are termed formal fields because they receive the values of the corresponding field of a matching tuple, ....

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5):519--551, 1994.


The Design of the PROMIS Compiler - Hideki Saito Nicholas (1999)   (1 citation)  Self-citation (Polychronopoulos)   (Correct)

....and Interprocedural Parallelization Automatic Loop and Functional Parallelism Data Distribution Mem. Optimization Thread Granularity Control High level Optimization Fig. 1. Overview of the PROMIS Compiler provides a natural mapping for exploitation of multi level memory hierarchy and parallelism[8]. The frontend backend integration via the unified IR enables the propagation of more information from the frontend to the backend, which in turn helps achieve a synergistic effect on the performance of the generated code[5] Symbolic analysis not only produces control flow sensitive information ....

....entities, rather than syntactic constructs. Therefore, transformations and optimizations views and accesses the semantics of the program, rather than the statements of a particular language or the instructions of a target architecture. The PROMIS IR is based on the Hierarchical Task Graph (HTG)[8]. The HTG is a hierarchical control flow graph (HCFG) overlayed with hierarchical data and control dependence graphs (HDDG and HCDG) The HTG has been successfully used both in a frontend parallelizer[13] and in a backend compiler [12] In the HTG, hierarchical nodes capture the hierarchy of ....

Milind Girkar and Constantine D. Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming, 22(5):519--551, 1994.


The PROMIS Compiler Prototype - Brownhill, Nicolau, Novack.. (1997)   (5 citations)  Self-citation (Polychronopoulos)   (Correct)

....is a unified program representation that will allow diverse techniques to cooperate. This internal structure must have both high level and low level representation (see Figure 3) The Hierarchical Task Graph (HTG) has been determined to be a good choice for this multilevel representation [5]. 1.1 The Hierarchical Task Graph Hierarchical Task Graphs (HTGs) were originally presented for use at the coarse grain level in [6, 7] The HTG is defined in [6] as a directed acyclic graph, HTG = HV, HE) where HV is a set of nodes and HE is a set of edges that represent control flow through ....

....14, 10, 12, 15, 13] as a back end for performing instruction level parallelization and code generation. Parafrase 2 and EVE are uniquely suited for use in the prototype for several reasons: 1. The intermediate representations of both compilers are based on the Hierarchical Task Graph (HTG)[5] which will also form the basis for the unified intermediate representation to be used in the final PROMIS compiler. By studying highlevel and low level use of HTGs in the prototype High level Representation Low level Representation Unified Representation High level Language Front End Machine ....

Milind B. Girkar and Constantine Polychronopoulos. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming. to appear.


A Semantics-Preserving Reduction of Code-Annotated.. - Savoiu, Shukla, Gupta (2004)   (Correct)

No context found.

M. Girkar, C.D. Polychronopoulos, "The Hierarchical Task Graph as a Universal Intermediate Representation", International Journal of Parallel Programming, vol. 22, no. 5, October 1994.


Concurrency in System Level Design: Conflict - Between Simulation And (2002)   (Correct)

No context found.

M. Girkar, C.D. Polychronopoulos. The Hierarchical Task Graph as a Universal Intermediate Representation. International Journal of Parallel Programming, vol. 22, no. 5, October 1994


Petri Net-based Thread Composition for Improved System - Level Simulation Nick   (Correct)

No context found.

M. Girkar, C.D. Polychronopoulos, "The Hierarchical Task Graph as a Universal Intermediate Representation", International Journal of Parallel Programming, vol. 22, no. 5, October 1994.

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