Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization 2010
DOI: 10.1145/1772954.1772973
|View full text |Cite
|
Sign up to set email alerts
|

Decoupled software pipelining creates parallelization opportunities

Abstract: Decoupled Software Pipelining (DSWP) is one approach to automatically extract threads from loops. It partitions loops into long-running threads that communicate in a pipelined manner via inter-core queues. This work recognizes that DSWP can also be an enabling transformation for other loop parallelization techniques. This use of DSWP, called DSWP+, splits a loop into new loops with dependence patterns amenable to parallelization using techniques that were originally either inapplicable or poorly-performing. By… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
38
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 48 publications
(41 citation statements)
references
References 25 publications
0
38
0
Order By: Relevance
“…Clairvoyance builds upon techniques such as software pipelining [9], [11], program slicing [12], and decoupled access-execute [13], [14], [15] and generates code that exhibits improved memory-level parallelism (MLP) and instruction-level parallelism (ILP). For this, Clairvoyance prioritizes the execution of critical instructions, namely loads, and identifies independent instructions that can be interleaved between loads and their uses.…”
Section: The Clairvoyance Compilermentioning
confidence: 99%
“…Clairvoyance builds upon techniques such as software pipelining [9], [11], program slicing [12], and decoupled access-execute [13], [14], [15] and generates code that exhibits improved memory-level parallelism (MLP) and instruction-level parallelism (ILP). For this, Clairvoyance prioritizes the execution of critical instructions, namely loads, and identifies independent instructions that can be interleaved between loads and their uses.…”
Section: The Clairvoyance Compilermentioning
confidence: 99%
“…Clairvoyance builds upon techniques such as software pipelining [9,10], program slicing [11], and decoupled access-execute [12][13][14] and generates code that exhibits improved memory-level parallelism (MLP) and instructionlevel parallelism (ILP). For this, Clairvoyance prioritizes the execution of critical instructions, namely loads, and identifies independent instructions that can be interleaved between loads and their uses.…”
Section: The Clairvoyance Compilermentioning
confidence: 99%
“…Dataflow graphs are standard intermediate representations within compilers, and can be mapped to cores automatically. There also exist transformations to increase the amount of time that an execution pattern can be used; Zhong et al use speculation to extract more DOALL parallelism [27], and pipeline parallelism can become an enabling transformation for other forms of parallelism [11].…”
Section: Related Workmentioning
confidence: 99%