Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Flow Graph Isolated Nodes

ronag89
Beginner
461 Views

I have an application which takes a video input and then outputs these to different destinations. For this I am using TBBs flow graph API.

My graph looks something like this:

broadcast_node (input0)
                       \
                        function_node (encoder0) - function_node (output0)
                       /
broadcast_node (input1)
                       \
                        function_node (encoder1) - function_node (output1)
                       /
broadcast_node (input2)

Now this works fine (note that this is a simplified example). However, if one of the encoders fails and throw an exception then everything stops working.

Is there any way I can isolate the encoder and output parts of the graph so that if any of these nodes throw an exception it is simply removed/ignored from the graph while the rest runs as if nothing has happened? 

Basically what I want is that if encoder1 throws then encoder2 should just keep on running.

0 Kudos
1 Reply
ronag89
Beginner
461 Views

Is it possible to create edges between nodes that have different parent graph objects? If so, what is the semantics an life time management of that?

0 Kudos
Reply