Introduction¶
StreamPU is a DSEL for streaming applications written in C++. This
documentation maily focuses on explaining the basic elements of the language
from the developer point of view. The user documention is is currently
underway.
Here are the main features of StreamPU:
- Definition of modules, tasks and sockets (dataflow)
- Elementary modules and tasks implementations
- Parallel runtime (replication, pipeline)
The DSEL is suitable for SDR systems, video processing and more generally it matches single-rate SDF streaming applications.
Note
The DSEL term can be sometimes confusing and StreamPU can also be
seen as a standard C++ library. The name "DSEL" comes from the ability
to write interpreted Turing-complete programs using the C++ library.
Warning
This library is NOT intended to address data and task parallelisms.
StreamPU focus on replication and pipeline parallelisms. For data
parallelism, StreamPU combines well with OpenMP. If you look for task
parallelism, using OpenMP can also be a possible solution, or other runtime
like the excellent StarPU can be a
good choice.