Proceedings of the 1996 Conference on Parallel Architectures and Compilation Technique
DOI: 10.1109/pact.1996.552637
|View full text |Cite
|
Sign up to set email alerts
|

An efficient, global resource-directed approach to exploiting instruction-level parallelism

Abstract: Many techniques have been proposed for exploiting instruction level parallelism, ranging from the optimal and expensive but ignoring resource constraints, to various forms of introducing resource constraints. One of the most aggressive of these techniques is ResourceConstrained Software Pipelining (RCSP) [ 11. RCSP works by repeatedly scheduling successive iterations of a loop in parallel until the data and resource dependence structure of the loop causes the process to converge on a repeating scheduling patte… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
14
0

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 7 publications
(14 citation statements)
references
References 9 publications
0
14
0
Order By: Relevance
“…However, we have found HTGs to be the most natural choice for our parallelizing transformations. Also, our scheduler relies heavily on compiler transformations such as Trailblazing [47] and Resource-Directed Loop Pipelining [54] that were originally developed using HTGs as the underlying intermediate representation.…”
Section: Spark Takes a Behavioral Description In Ansi-c As Input And mentioning
confidence: 99%
“…However, we have found HTGs to be the most natural choice for our parallelizing transformations. Also, our scheduler relies heavily on compiler transformations such as Trailblazing [47] and Resource-Directed Loop Pipelining [54] that were originally developed using HTGs as the underlying intermediate representation.…”
Section: Spark Takes a Behavioral Description In Ansi-c As Input And mentioning
confidence: 99%
“…We implemented the code-motion transformations, the scheduling heuristic, and control and binding passes in a modular and extensible high-level synthesis framework called Spark [10]. We also modified several parallelizing compiler transformations [11], [12] for high-level synthesis and implemented them within our framework. Spark produces synthesizable RTL VHDL and, thus, enables evaluation of the effects of several coarse and fine-grain optimizations on logic synthesis results.…”
Section: Introductionmentioning
confidence: 99%
“…Loop unrolling and loop pipelining (or software pipelining) have been shown to be effective techniques for exploiting parallelism across loop iterations in the parallelizing compiler community [7,8,9,10,15,16]. Modulo scheduling and its variants [7,9] create a schedule of one iteration of the loop body such that repetition of this iteration after a regular initiation period does not violate any resource constraints and inter-and intra-iteration dependencies.…”
Section: Related Workmentioning
confidence: 99%
“…A new pipelined loop body is then created using this repeating pattern. Loop shifting was first proposed as a part of the resource-directed loop pipelining (RDLP) technique [10]. RDLP first unrolls the loop several times and then attempts loop shifting and compaction.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation