-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backport TBB deprecation and related changes to 6-22 #7065
Backport TBB deprecation and related changes to 6-22 #7065
Conversation
Replace all uses of TPoolManager, based on the deprecated tbb_task_scheduler_init and its implicit task_arena, by explicit manipulation of our own central instance of task_arena, as suggested by intel: https://software.intel.com/sites/default/files/managed/b2/d2/TBBRevamp.pdf Work out some gymnastics to keep tbb out of the headers, encapsulating it within the new RTaskArenaWrapper class. Couldn't find a solution for the forward-declaration tbb::task_arena, which is an alias of a versioned namespace dependent class that we are forced to forward declare instead (tbb::interface7::tbb_task_arena).
...when checking for bandwith control
...and only allow RTaskarenaWrapper to be constructed from GetGlobalTaskArena
..for things that were true in TPoolManager but not anymore
Starting build on |
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
Build failed on mac11.0/cxx17. Failing tests: |
Build failed on ROOT-fedora30/cxx14. Failing tests: |
Build failed on mac1014/python3. Failing tests: |
Due to moving from TPoolManager to RTaskArena as an interface to the TBB pool of threads. See root-project/root#7065
warn when the number of threads set by the user is limited at runtime by tbb::global_control. Fix for github issue root-project#6363: root-project#6363
Introduce yet another layer of abstraction in ROpaqueTaskArena, a class inheriting from tbb::task_arena that will allow us to keep tbb hidden from ROOT interfaces while solving the issue of having to forward-declare tbb::task_arena in an interface-dependent way
2af0cc3
to
fa15e9d
Compare
Starting build on |
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
Build failed on mac11.0/cxx17. Failing tests: |
Build failed on mac1014/python3. Failing tests: |
Build failed on ROOT-fedora30/cxx14. Failing tests: |
Due to moving from TPoolManager to RTaskArena as an interface to the TBB pool of threads. See root-project/root#7065
As requested by CMS (@mrodozov)