Skip to content

fix(AlgFlowManager) less than 100% CPU utilization with tbb::task

Christoph Hasse requested to merge chasse_tbb_fix into master

When using the tbb::task API one doesn't have control over tbb's threadpool. (or at least I didn't find a way...)

On a quanta this led to only ~19 worker threads instead of 20. See image below image

The tbb::task api is deprecated in tbb 2020 and removed in OneAPI so moving away from the current implementation would have been required in the future anyway.
This MR let's the AlgFlowManager create its own task_arena. The maximum number of threads is still controlled by the online application via TBB's global_control_t class.

Edited by Christoph Hasse

Merge request reports