|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007)
A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs
Chicago, Illinois, USA
December 01-December 05
ISBN: 0-7695-3047-8
| ASCII Text | x | ||
| William Thies, Vikram Chandrasekhar, Saman Amarasinghe, "A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs," 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 356-369, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007), 2007. | |||
| BibTex | x | ||
| @article{ 10.1109/MICRO.2007.38, author = {William Thies and Vikram Chandrasekhar and Saman Amarasinghe}, title = {A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs}, journal ={2012 45th Annual IEEE/ACM International Symposium on Microarchitecture}, volume = {0}, year = {2007}, issn = {1072-4451}, pages = {356-369}, doi = {http://doi.ieeecomputersociety.org/10.1109/MICRO.2007.38}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - CONF JO - 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture TI - A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs SN - 1072-4451 SP356 EP369 A1 - William Thies, A1 - Vikram Chandrasekhar, A1 - Saman Amarasinghe, PY - 2007 VL - 0 JA - 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MICRO.2007.38
The emergence of multicore processors has heightened the need for effective parallel programming practices. In addition to writing new parallel programs, the next gener- ation of programmers will be faced with the overwhelming task of migrating decades' worth of legacy C code into a parallel representation. Addressing this problem requires a toolset of parallel programming primitives that can broadly apply to both new and existing programs. While tools such as threads and OpenMP allow programmers to express task and data parallelism, support for pipeline parallelism is distinctly lacking. In this paper, we offer a new and pragmatic approach to leveraging coarse-grained pipeline parallelism in C pro- grams. We target the domain of streaming applications, such as audio, video, and digital signal processing, which exhibit regular flows of data. To exploit pipeline paral- lelism, we equip the programmer with a simple set of an- notations (indicating pipeline boundaries) and a dynamic analysis that tracks all communication across those bound- aries. Our analysis outputs a stream graph of the applica- tion as well as a set of macros for parallelizing the program and communicating the data needed. We apply our method- ology to six case studies, including MPEG-2 decoding, MP3 decoding, GMTI radar processing, and three SPEC bench- marks. Our analysis extracts a useful block diagram for each application, and the parallelized versions offer a 2.78x mean speedup on a 4-core machine.
Citation:
William Thies, Vikram Chandrasekhar, Saman Amarasinghe, "A Practical Approach to Exploiting Coarse-Grained Pipeline Parallelism in C Programs," micro, pp.356-369, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007), 2007
Usage of this product signifies your acceptance of the Terms of Use.
