-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Migrate to tbb::task_group #32804
Migrate to tbb::task_group #32804
Conversation
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32804/20977
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32804/20979
|
please test |
A new Pull Request was created by @Dr15Jones (Chris Jones) for master. It involves the following packages: FWCore/Concurrency @makortel, @smuzaffar, @Dr15Jones can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
hold additional changes are expected but a fuller test is useful. |
Pull request has been put on hold by @Dr15Jones |
-1 Failed Tests: Build ClangBuild BuildI found compilation error when building: >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/LHEFilter.cc >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/LHE2HepMCConverter.cc >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/ExternalLHEProducer.cc >> Compiling edm plugin /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/ExternalLHEAsciiDumper.cc /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/ExternalLHEProducer.cc: In lambda function: /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/GeneratorInterface/LHEInterface/plugins/ExternalLHEProducer.cc:303:45: error: no matching function for call to 'make_functor_task(tbb::internal::allocate_root_proxy, ExternalLHEProducer::beginRunProduce(edm::Run&, const edm::EventSetup&)::::)' 303 | }); | ^ In file included from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/FWCore/Framework/src/Worker.h:47, from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/FWCore/Framework/src/Factory.h:5, from /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_11_3_X_2021-02-03-0800/src/FWCore/Framework/interface/MakerMacros.h:4, Clang BuildI found compilation warning while trying to compile with clang. Command used:
See details on the summary page. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-32804/20992
|
+1 |
ping @cms-sw/generators-l2 |
+generators |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
DD4Hep is not using TBB since cms-sw/cmsdist#6554 when we removed it |
// | ||
// Created by Chris Jones on 2/24/21. | ||
// | ||
#define TBB_PREVIEW_RESUMABLE_TASKS 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @Dr15Jones, we suspect this define is causing a recent CXXMODULES IB regression. Would it be possible to move this define (I saw another one in the cc file) to the build system and possibly add it to the rootcling invocation (if scram does not do that automatically).
cc: @davidlange6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vgvassilev in principal, setting this at compile time should work. We did it in the header since that was the recommendation of the TBB developers.
@smuzaffar do you want to try it as a build directive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in one of the headers including tbb/task_group.h but not consistently. I think thats why we noticed. I can experiment on the modules IB branch if you want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in one of the headers including tbb/task_group.h but not consistently.
That was intentional. It is only turned on where the feature is needed. Again, that was the recommendation of the tbb developers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Dr15Jones , yes we can set it at build time. @davidlange6 , are you testing it by adding it in the tbb.xml toolfile? You can add it in the toolfile and then scram should set itfo rboth normal build and rootcling
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this macro is now defined via tbb toolfile ( see #33140 and cms-sw/cmsdist#6713 )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in one of the headers including tbb/task_group.h but not consistently.
That was intentional. It is only turned on where the feature is needed. Again, that was the recommendation of the tbb developers.
I'd assume they did not know about the fact we use C++ modules in the dictionaries. In theory, we can still use the macro the way we do, and only pass the relevant -D
to rootcling. Not sure if that's worth it.
PR description:
The tbb::task ABI has been deprecated by Intel's developers in favor of tbb::task_group.
PR validation:
The code compiles and all framework related unit tests succeed.