1995
DOI: 10.1145/212094.212131
|View full text |Cite
|
Sign up to set email alerts
|

Software pipelining

Abstract: Utilizing parallelism at the instruction level is an important way to improve performance. Because the time spent in loop execution dominates total execution time, a large body of optimizations focuses on decreasing the time to execute each iteration. Software pipelining is a technique that reforms the loop so that a faster execution rate is realized. Iterations are executed in overlapped fashion to increase parallelism. Let { ABC } n … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
99
0
3

Year Published

1999
1999
2014
2014

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 276 publications
(102 citation statements)
references
References 21 publications
0
99
0
3
Order By: Relevance
“…However, we lack of interesting scheduling techniques, e.g. software pipelining [2], which are quite profitable considering the underlying architecture and our application domain.…”
Section: Related and Future Workmentioning
confidence: 99%
See 1 more Smart Citation
“…However, we lack of interesting scheduling techniques, e.g. software pipelining [2], which are quite profitable considering the underlying architecture and our application domain.…”
Section: Related and Future Workmentioning
confidence: 99%
“…when addressing data registers. Given the Directed Acyclic Graph (DAG) G = (I, E) of data-dependent instructions, where I is the set of instructions, it walks G starting from a random load or store i0, save its address 2 In particular the Length Strength Reduce (LSR) optimization pass space number and look if it finds a cross address space usage at some other data-related load or store in. The data path P = (i1, in−1) → P ′ is then cloned and in, the faulty memory access, is modified to use i ′ n−1 as its new operand.…”
mentioning
confidence: 99%
“…An extensive survey of the available software pipelining techniques such as modulo scheduling algorithms, perfect pipelining, Petri net model and Vegdahl's technique, and a comparison between the different methods is given in [17]. Since basic-block scheduling is an NP-hard problem [18], most effort on the topic has been focused on a variety of heuristics to reach nearoptimal schedules.…”
Section: Chapter 7 Related Workmentioning
confidence: 99%
“…Software pipelining [1,2,4,6,7,10,13,14,15,16] is a well known compilation technique that improves the performance of a loop by overlapping the execution of independent instructions from several iterations. The execution of a softwarepipelined loop goes through three phases: prolog, when the pipeline is filled -i.e.…”
Section: Introductionmentioning
confidence: 99%