Italian C++ Day 2019
Many C++ developers are familiar with the parallel algorithms and data structures from the Intel TBB library. TBB also has a Data Flow graph library that is less well known but equally interesting. Dataflow programs are described as a computational graph, a series of nodes that share data through messages flowing through graph edges. The TBB runtime takes care of scheduling and running computations with maximum concurrency while respecting the dependency information expressed in the graph. This declarative approach to task orchestration is especially suitable for pipeline of CPU-heavy tasks, like Computer Vision and Robotics. The talk will include an example from these domains, complete with a performance evaluation and a comparison with more manual implementations.