Questions tagged [tbb-flow-graph]

The Flow Graph interface extends capabilities of TBB to allow fast, efficient implementations of dependency graph and data flow algorithms, enabling developers to exploit parallelism at higher levels in their application.

The Flow Graph interface extends capabilities of Intel Threading Building Blocks (TBB) to allow fast, efficient implementations of dependency graph and data flow algorithms, enabling developers to exploit parallelism at higher levels in their application.

47 questions
1
vote
0 answers

TBB Flow Graph Nodes Running on Main Tread

Is there a way to constraint nodes in the flow graph to run on the main thread? The case is that I have a big dependency graph where only some of the nodes can run on other threads. Instead of picking out the nodes that can run on other threads, I…
devotee
  • 127
  • 11
1
vote
0 answers

Intel TBB: read a file, apply a function for each line and save the result to a vector

With intel TBB I'm trying to read a file `serial', apply a function on each line of the file, and save the result to a vector of a type A. struct A { long long time; double price; A(long long t, double p) : time(t),price(p){}; } I have…
david.t_92
  • 1,971
  • 1
  • 11
  • 15
1
vote
3 answers

join_node graph flow construction

I am experimenting Intel Graph Flow from TBB. I am super satisfied by the results and I found the product amazing, with unlimited possibilities. However I was confronted to a pb that I fixed but I am not satisfied. The pb is the following. …
Timocafé
  • 765
  • 6
  • 18
1
vote
3 answers

Employing parallelism in pipelined execution

I am trying to develop a pipeline in which data is first read and processed, manipulated once, manipulated in a different way, and then displayed. I have a design in mind in which the data IO feeds into a buffer that is read by the first…
marcman
  • 3,233
  • 4
  • 36
  • 71
1
vote
1 answer

How to structure a flow graph with a blocking input source

What is a good way to modify Michael Voss' Feature Detection flow graph example when the source filter providing input images is blocking waiting for another image? This is a required modification if one wants to implement this graph for a…
Phil
  • 5,822
  • 2
  • 31
  • 60
1
vote
1 answer

How to: TBB node with multiple asynchronous inputs and multiple outputs

I am new to Threading Building Blocks (TBB); I would need to implement the following logic with TBB nodes: A node of type N receives two inputs; for instance: 1. std::vector // data 2. bool // flag These inputs come asynchronously. If the input is…
1
vote
1 answer

TBB flow graph conditional execution

It possible to control execution path in the TBB Flow Graph dynamically, using output of a node as a condition variable to determine whether another node should be launched?
lizarisk
  • 7,562
  • 10
  • 46
  • 70
0
votes
1 answer

oneTBB data flow graph, how to write a node with single input, but output multiple times

I want to use oneTBB to write such a node, that can receive a value, and then generate a vector of int. But instead of sending the vector as a single output, I want to send each vector element as a single message, so they can be processed by…
0
votes
1 answer

TBB Dynamic Flow Graphs

I'm trying to come up with a way to define a flow graph (think TBB) defined at runtime. Currently, we use TBB to define the nodes and the edges between the nodes at compile time. This is sort of annoying because we have people who want to add…
dHubley
  • 25
  • 4
0
votes
1 answer

tbb flow graph Segmentation fault in _flow_graph_cache_impl.h

I'm trying to run some code with flow graph, it compiled successfully, however when running it gives a segmentation fault in the tbb flow graph library files after invoking input node, I can't seem to be able to find the reason of it. My input node…
T.Aoukar
  • 653
  • 5
  • 19
0
votes
0 answers

Intel TBB libtbb.so file not found after upgrading

I had a project running with older version of TBB (flow graph input_node was not declared), and I had no idea how to update it or how it was installed... In the desperation of the moment I found: https://github.com/wjakob/tbb so I went a head and…
T.Aoukar
  • 653
  • 5
  • 19
0
votes
1 answer

How to implement a TBB input_node?

Apparently in tbb::flow the source_node has been deprecated, and starting in the 2021.1 version we are only supposed to use input_node. Simply replacing the class does not seem to work, though. I have a working code using source_node in version…
dividebyzero
  • 2,190
  • 1
  • 21
  • 33
0
votes
1 answer

How to ignore inputs in a TBB join_node if one of the inputs is an empty buffer?

I'm trying to modify this example from https://software.intel.com/content/www/us/en/develop/blogs/a-feature-detection-example-using-the-intel-threading-building-blocks-flow-graph.html The idea is I have a "preprocess" function that is applied to…
dividebyzero
  • 2,190
  • 1
  • 21
  • 33
0
votes
1 answer

Intel TBB input_node output value caching delays resource release. Workaround ideas?

I'm new to the Intel Threading Building Blocks and playing with the flow graph component. So far, its worked mostly well. My messages between nodes are shared_ptr types so they are copy-constructble, lightweight, and the underlying resource is…
aggieNick02
  • 2,557
  • 2
  • 23
  • 36
0
votes
1 answer

Wait for one node in a flow graph? / Pull-based execution?

I have a graph that has a few endpoints: f0(g(x)) and f1(g(x)). I could make a graph with an edge from g to f0 and g to f1, but if I do wait_for_all() it'll calculate both f0 and f1. But sometimes I only want to know f0(x) and other times I want…
Ben
  • 9,184
  • 1
  • 43
  • 56