Back to Search
Start Over
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs
- Source :
- ASPLOS
- Publication Year :
- 2006
- Publisher :
- Association for Computing Machinery (ACM), 2006.
-
Abstract
- As multicore architectures enter the mainstream, there is a pressing demand for high-level programming models that can effectively map to them. Stream programming offers an attractive way to expose coarse-grained parallelism, as streaming applications (image, video, DSP, etc.) are naturally represented by independent filters that communicate over explicit data channels.In this paper, we demonstrate an end-to-end stream compiler that attains robust multicore performance in the face of varying application characteristics. As benchmarks exhibit different amounts of task, data, and pipeline parallelism, we exploit all types of parallelism in a unified manner in order to achieve this generality. Our compiler, which maps from the StreamIt language to the 16-core Raw architecture, attains a 11.2x mean speedup over a single-core baseline, and a 1.84x speedup over our previous work.
- Subjects :
- Multi-core processor
Speedup
Computer science
Data parallelism
Task parallelism
Parallel computing
General Medicine
computer.software_genre
Pipeline (software)
Computer Graphics and Computer-Aided Design
Software pipelining
Programming paradigm
General Earth and Planetary Sciences
Compiler
Implicit parallelism
Instruction-level parallelism
computer
Software
General Environmental Science
Subjects
Details
- ISSN :
- 01635964
- Volume :
- 34
- Database :
- OpenAIRE
- Journal :
- ACM SIGARCH Computer Architecture News
- Accession number :
- edsair.doi.dedup.....2402ef68a2897d8393782baeea877762
- Full Text :
- https://doi.org/10.1145/1168919.1168877