Skip to content
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

Convert all remaining MiniAOD modules to threaded FW (76X) #10620

Merged
merged 17 commits into from
Sep 11, 2015

Conversation

lgray
Copy link
Contributor

@lgray lgray commented Aug 7, 2015

This PR converts all modules used in MiniAOD to the threaded framework.

Short matrix passed for both single and multithreaded jobs. Thread efficiency looked good, MiniAOD job was pegged at ~200% for a 2 core test.

Once we are done examining the various changes I will squash the commits down to something less sprawling.

I have now tested this incrementing the number of threads from 2 up to 8. Thread efficiency is good up until 6 threads and then it stabilizes, and the initialization time explodes rather quickly beyond 6 threads.
Converting a new legacy module that appeared in 76X did increase the thread efficiency.

Backports to 75X and 74X after we have some more thorough testing (validation and such) and the dust settles from the MiniAOD reprocessing campaign.

@Dr15Jones

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

A new Pull Request was created by @lgray (Lindsey Gray) for CMSSW_7_6_X.

Convert all remaining MiniAOD modules to threaded FW (76X)

It involves the following packages:

CommonTools/ParticleFlow
CommonTools/RecoAlgos
CommonTools/UtilAlgos
JetMETCorrections/Type1MET
PhysicsTools/HepMCCandAlgos
PhysicsTools/JetCharge
PhysicsTools/JetMCAlgos
PhysicsTools/PatAlgos
PhysicsTools/PatUtils
RecoEgamma/EgammaPhotonProducers
RecoJets/JetProducers

@cmsbuild, @cvuosalo, @vadler, @monttj, @slava77 can you please review it and eventually sign? Thanks.
@rappoccio, @Sam-Harper, @jdolen, @imarches, @makortel, @acaudron, @abbiendi, @mmarionncern, @jhgoh, @ahinzmann, @nhanvtran, @yslai, @schoef, @ferencek, @gpetruc, @mariadalfonso, @pvmulder, @TaiSakuma this is something you requested to watch as well.
You can sign-off by replying to this message having '+1' in the first line of your reply.
You can reject by replying to this message having '-1' in the first line of your reply.
If you are a L2 or a release manager you can ask for tests by saying 'please test' in the first line of a comment.
@Degano you are the release manager for this.
You can merge this pull request by typing 'merge' in the first line of your comment.

@lgray
Copy link
Contributor Author

lgray commented Aug 7, 2015

Ah, it seems I need to play a little whack-a-mole.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

Pull request #10620 was updated. @cmsbuild, @cvuosalo, @vadler, @monttj, @slava77 can you please check and sign again.

@lgray
Copy link
Contributor Author

lgray commented Aug 7, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

-1
Tested at: 1bf3925
I found a compilation error while trying to compile with clang:
I used this command:
scram b vclean && scram build -k -j 8 USER_CXXFLAGS='-fsyntax-only' COMPILER='llvm compile'

                                                  ^
1 warning generated.
>> Compiling edm plugin /tmp/cmsbuild/workspace/ib-any-integration/CMSSW_7_6_X_2015-08-06-2300/src/PhysicsTools/PatAlgos/plugins/PATHemisphereProducer.cc 
>> Compiling edm plugin /tmp/cmsbuild/workspace/ib-any-integration/CMSSW_7_6_X_2015-08-06-2300/src/PhysicsTools/PatAlgos/plugins/PATJetProducer.cc 
In file included from /tmp/cmsbuild/workspace/ib-any-integration/CMSSW_7_6_X_2015-08-06-2300/src/PhysicsTools/PatAlgos/plugins/PATElectronProducer.cc:2:
/tmp/cmsbuild/workspace/ib-any-integration/CMSSW_7_6_X_2015-08-06-2300/src/PhysicsTools/PatAlgos/plugins/PATElectronProducer.h:231:86: error: no matching member function for call to 'consumes'
  tokens = edm::vector_transform(labels, [this](IsolationLabel const & label){return consumesedm::ValueMap(label.second);});
                                                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/cmsbuild/workspace/ib-any-integration/CMSSW_7_6_X_2015-08-06-2300/src/PhysicsTools/PatAlgos/plugins/PATElectronProducer.cc:159:3: note: in instantiation of function template specialization 'pat::PATElectronProducer::readIsolationLabelsreco::IsoDeposit' requested here
  readIsolationLabels(iConfig, "isoDeposits", isoDepositLabels_, isoDepositTokens_);
  ^


you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-10620/7029/summary.html

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

@lgray
Copy link
Contributor Author

lgray commented Aug 7, 2015

@cmsbuild please test

Fixed const correctness for clang.

@davidlange6
Copy link
Contributor

Coool. Thanks @lgray

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

cmsbuild commented Aug 7, 2015

Pull request #10620 was updated. @cmsbuild, @cvuosalo, @vadler, @monttj, @slava77 can you please check and sign again.

@cmsbuild
Copy link
Contributor

-1

Tested at: 27eea18
I found errors in the following unit tests:

---> test testJetMETCorrectionsType1MET had ERRORS
---> test runtestPhysicsToolsPatAlgos had ERRORS

you can see the results of the tests here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-10620/7528/summary.html

@lgray
Copy link
Contributor Author

lgray commented Aug 23, 2015

Unit test failures were not because of this change (DAS failure + data format problem in PhysicsTools/PatAlgo unit test).

@lgray
Copy link
Contributor Author

lgray commented Aug 24, 2015

@monttj could you please sign here? Thanks!

@lgray
Copy link
Contributor Author

lgray commented Aug 24, 2015

@slava77 FYI, after the Puppi and MET PRs for MiniAOD 74X are in (... if they go in), then the 74X version of this PR just becomes a straight backport.

@slava77
Copy link
Contributor

slava77 commented Aug 24, 2015

@lgray ok, once those get in, I can backport this one

@slava77
Copy link
Contributor

slava77 commented Aug 24, 2015

.. actually, I'd rather have the full thing from #10806

@lgray
Copy link
Contributor Author

lgray commented Aug 24, 2015

As you wish.

On Mon, Aug 24, 2015 at 10:47 PM, Slava Krutelyov [email protected]
wrote:

.. actually, I'd rather have the full thing from #10806
#10806


Reply to this email directly or view it on GitHub
#10620 (comment).

@lgray
Copy link
Contributor Author

lgray commented Aug 24, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@monttj
Copy link
Contributor

monttj commented Aug 30, 2015

+1

@cvuosalo
Copy link
Contributor

-1
Superseded by #11140, which replaced #10806.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants