1992
DOI: 10.1109/71.127258
|View full text |Cite
|
Sign up to set email alerts
|

Automatic extraction of functional parallelism from ordinary programs

Abstract: Parallelism vs. Concurrency Why Parallelism Levels of Parallelism DIFFERENCE BETWEEN PARALLELISM AND CONCURRENCY Parallelism: parallelism denotes parallel execution not defined by but also not affecting the semantics of a program. Low-level property. Concurrency: concurrency denotes parallelism at the conceptual level, modelling e.g. an aeroplane which possesses lots of independent and parallel working units. High-level property.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
83
0
1

Year Published

1994
1994
2011
2011

Publication Types

Select...
7
2
1

Relationship

0
10

Authors

Journals

citations
Cited by 160 publications
(84 citation statements)
references
References 10 publications
0
83
0
1
Order By: Relevance
“…7 shows an overview of the Spark HLS framework. What makes Spark an excellent candidate for experimenting is not only the easy availability of source code but also the fact that it uses a single intermediate representation (IR), called hierarchical task graphs [18]. Spark starts with a behavioral description in ANSI-C as input-currently with the restrictions of no pointers, no recursion, and no irregular control-flow jumps.…”
Section: B Spark: Hls Frameworkmentioning
confidence: 99%
“…7 shows an overview of the Spark HLS framework. What makes Spark an excellent candidate for experimenting is not only the easy availability of source code but also the fact that it uses a single intermediate representation (IR), called hierarchical task graphs [18]. Spark starts with a behavioral description in ANSI-C as input-currently with the restrictions of no pointers, no recursion, and no irregular control-flow jumps.…”
Section: B Spark: Hls Frameworkmentioning
confidence: 99%
“…A sequence of scheduling steps with no control flow between them is encapsulated in a basic block. We capture the control flow between basic blocks using a hierarchical intermediate representation called hierarchical task graphs (HTGs) [15,16]. HTGs model the design with three type of nodes: (a) single nodes that encapsulate basic blocks, (b) compound nodes that are hierarchical in nature and encapsulate conditional constructs such as if-then-else blocks and switch-case blocks, and (c) loop nodes that encapsulate for-loops, while-loops etc.…”
Section: Model and Terminologymentioning
confidence: 99%
“…The compiler applies control and data dependence analysis to produce an intermediate program representation called the Hierarchical Task Graph (HTG) [5]. Programs are represented with a hierarchical structure consisting of simple and compound nodes.…”
Section: Autoscheduling and Performance Limitationsmentioning
confidence: 99%