- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Using tbb::pipeline, is it possible to set the queue size between specific pipeline stage?
i.e.
If I had 3 stages, and I wanted the the queue size between stage 1 and 2 to only have 1-depth queue..is it possible?
i.e.
If I had 3 stages, and I wanted the the queue size between stage 1 and 2 to only have 1-depth queue..is it possible?
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How about integrating both into one, and spawning the previous stage 1 from the previous stage 2?
(Added) I should explain... Flow control is currently supported only in the form of maximum number of tokens in flight throughout the pipeline (argument to pipeline::run()), so maybe setting that to 2 will work for you (if the rest of the pipeline does not suffer). Flow control on individual input buffers is not supported. In this case, it would mean that stage 1 must not be entered while stage 2's input buffer is not empty to receive the result, which is also directly implemented if "stage 2" spawns "stage 1" as an additional child, goes about its business, and then waits for the child to finish. You can probably recycle the child task between uses. Would this work for you?
(Added) I should explain... Flow control is currently supported only in the form of maximum number of tokens in flight throughout the pipeline (argument to pipeline::run()), so maybe setting that to 2 will work for you (if the rest of the pipeline does not suffer). Flow control on individual input buffers is not supported. In this case, it would mean that stage 1 must not be entered while stage 2's input buffer is not empty to receive the result, which is also directly implemented if "stage 2" spawns "stage 1" as an additional child, goes about its business, and then waits for the child to finish. You can probably recycle the child task between uses. Would this work for you?

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page