Skip to content

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.