Static scheduling of synchronous data flow programs for digital signal processing
IEEE Transactions on Computers
An efficient pipelined dataflow processor architecture
Proceedings of the 1988 ACM/IEEE conference on Supercomputing
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
The implementation of the Cilk-5 multithreaded language
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Parallel Scientific Computation: A Structured Approach Using BSP and MPI
Parallel Scientific Computation: A Structured Approach Using BSP and MPI
Data-Driven Multithreading Using Conventional Microprocessors
IEEE Transactions on Parallel and Distributed Systems
Exploiting coarse-grained task, data, and pipeline parallelism in stream programs
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
CellSs: a programming model for the cell BE architecture
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
A Practical Data Flow Computer
Computer
TFlux: A Portable Platform for Data-Driven Multithreading on Commodity Multicore Systems
ICPP '08 Proceedings of the 2008 37th International Conference on Parallel Processing
Hierarchical Task-Based Programming With StarSs
International Journal of High Performance Computing Applications
Effective communication and computation overlap with hybrid MPI/SMPSs
Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
A streaming machine description and programming model
SAMOS'07 Proceedings of the 7th international conference on Embedded computer systems: architectures, modeling, and simulation
CASES '10 Proceedings of the 2010 international conference on Compilers, architectures and synthesis for embedded systems
Programming parallel embedded and consumer applications in OpenMP superscalar
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
OpenStream: Expressiveness and data-flow compilation of OpenMP streaming programs
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
High-level support for pipeline parallelism on many-core architectures
Euro-Par'12 Proceedings of the 18th international conference on Parallel Processing
On-the-fly pipeline parallelism
Proceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures
Synchronous programming in audio processing: A lookup table oscillator case study
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
This paper introduces an extension to OpenMP3.0 enabling stream programming with minimal, incremental additions that seamlessly integrate into the current specification. The stream programming model decomposes programs into tasks and explicits the flow of data among them, thus exposing data, task and pipeline parallelism. It helps the programmers to express concurrency and data locality properties, avoiding non-portable low-level code and early optimizations. We survey the diverse motivations and constraints converging towards the design of our simple yet powerful language extension, and we present experimental results of a prototype implementation in a public branch of GCC 4.5.