| | |
Summary: Decoupled Software Pipelining Creates
Parallelization Opportunities
Jialu Huang Arun Raman Thomas B. Jablin Yun Zhang Tzu-Han Hung David I. August
Departments of Computer Science and Electrical Engineering
Princeton University
{jialuh,rarun,tjablin,yunzhang,thhung,august}@princeton.edu
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 pat-
terns amenable to parallelization using techniques that were
originally either inapplicable or poorly-performing. By par-
allelizing each stage of the DSWP+ pipeline using (poten-
tially) different techniques, not only is the benefit of DSWP
increased, but the applicability and performance of other
parallelization techniques are enhanced. This paper evalu-
|