Decoupled software pipelining creates parallelization opportunities

Jialu Huang, Arun Raman, Thomas B. Jablin, Yun Zhang, Tzu Han Hung, David I. August

Research output: Chapter in Book/Report/Conference proceedingConference contribution

48 Scopus citations

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 parallelizing each stage of the DSWP+ pipeline using (potentially) different techniques, not only is the benefit of DSWP increased, but the applicability and performance of other parallelization techniques are enhanced. This paper evaluates DSWP+ as an enabling framework for other transformations by applying it in conjunction with DOALL, LOCALWRITE, and SpecDOALL to individual stages of the pipeline. This paper demonstrates significant performance gains on a commodity 8-core multicore machine running a variety of codes transformed with DSWP+.

Original languageEnglish (US)
Title of host publicationProceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization
Pages121-130
Number of pages10
DOIs
StatePublished - 2010
Event8th International Symposium on Code Generation and Optimization, CGO 2010 - Toronto, ON, Canada
Duration: Apr 24 2010Apr 28 2010

Publication series

NameProceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization

Other

Other8th International Symposium on Code Generation and Optimization, CGO 2010
Country/TerritoryCanada
CityToronto, ON
Period4/24/104/28/10

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Theoretical Computer Science

Keywords

  • DSWP
  • enabling transformation
  • multicore
  • parallelization
  • speculation

Fingerprint

Dive into the research topics of 'Decoupled software pipelining creates parallelization opportunities'. Together they form a unique fingerprint.

Cite this