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

Consumes migration for PFSimParticleProducer in RecoParticleFlow/PFSimProducer #12496

Merged
merged 5 commits into from Jan 5, 2016

Conversation

schoef
Copy link
Contributor

@schoef schoef commented Nov 19, 2015

Consumes migration for PFSimParticleProducer in RecoParticleFlow/PFSimProducer

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @schoef for CMSSW_7_6_X.

It involves the following packages:

RecoParticleFlow/PFSimProducer

@cmsbuild, @cvuosalo, @davidlange6, @slava77 can you please review it and eventually sign? Thanks.
@mmarionncern, @bachtis, @lgray this is something you requested to watch as well.
@slava77, @Degano, @smuzaffar you are the release manager for this.

Following commands in first line of a comment are recognized

  • +1|approve[d]|sign[ed]: L1/L2's to approve it
  • -1|reject[ed]: L1/L2's to reject it
  • assign <category>[,<category>[,...]]: L1/L2's to request signatures from other categories
  • unassign <category>[,<category>[,...]]: L1/L2's to remove signatures from other categories
  • hold: L1/all L2's/release manager to mark it as on hold
  • unhold: L1/user who put this PR on hold
  • merge: L1/release managers to merge this request
  • [@cmsbuild,] please test: L1/L2 and selected users to start jenkins tests
  • [@cmsbuild,] please test with cms-sw/cmsdist#<PR>: L1/L2 and selected users to start jenkins tests using externals from cmsdist

@slava77
Copy link
Contributor

slava77 commented Nov 19, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/9856/console

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@cvuosalo
Copy link
Contributor

Shouldn't the EDProducer inheritance in PFSimParticleProducer.h be fixed for thread safety? The static analyzer complains about it.

line 44: class PFSimParticleProducer : public edm::EDProducer {

@schoef
Copy link
Contributor Author

schoef commented Nov 20, 2015

@cvuosalo Is this the fix?
class PFSimParticleProducer : public edm::stream::EDProducer<> {

@cvuosalo
Copy link
Contributor

@schoef: Yes, I think that will work.

@cvuosalo
Copy link
Contributor

@schoef: On second thought, ::stream won't won't be reliable if there is non-thread-safe code somewhere in this producer. When you make the change, please test in multi-threaded mode to check for problems. To do so, you can append the following to your config file:

echo -e "process.options.numberOfStreams = cms.untracked.uint32(0)\n process.options.numberOfThreads = cms.untracked.uint32(4)\n" >> configFile

@schoef
Copy link
Contributor Author

schoef commented Nov 22, 2015

@cvuosalo Indeed, that test fails.
Could you let me know what else needs to change?
Thank you.

@lgray
Copy link
Contributor

lgray commented Nov 23, 2015

@schoef This code will need to be (completely) rewritten to be even thread friendly. Recommend that for now you use edm::one instead of edm::stream.

@schoef
Copy link
Contributor Author

schoef commented Nov 23, 2015

@lgray OK, afaik this producer isn't currently used anywhere except in JME studies. That's why I'm making the small updates.
I've changed to edm::one

@cmsbuild
Copy link
Contributor

Pull request #12496 was updated. @cmsbuild, @cvuosalo, @davidlange6, @slava77 can you please check and sign again.

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 9, 2015

Pull request #12496 was updated. @cmsbuild, @cvuosalo, @davidlange6, @slava77 can you please check and sign again.

@cvuosalo
Copy link
Contributor

cvuosalo commented Dec 9, 2015

@schoef: Chris says edm::stream::EDProducer<> should work for replacing the thread-unsafe EDProducer. Does it?

@schoef
Copy link
Contributor Author

schoef commented Dec 11, 2015

@cvuosalo Yes, that works.

@cmsbuild
Copy link
Contributor

Pull request #12496 was updated. @cmsbuild, @cvuosalo, @davidlange6, @slava77 can you please check and sign again.

@slava77
Copy link
Contributor

slava77 commented Dec 11, 2015

@cmsbuild please test

@cmsbuild
Copy link
Contributor

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-any-integration/10261/console

@cmsbuild
Copy link
Contributor

@cmsbuild
Copy link
Contributor

@cvuosalo
Copy link
Contributor

+1

For #12496 7684cc2

Migrating PFSimParticleProducer to support thread safety. There should be no change in monitored quantities.

The code changes are satisfactory, and Jenkins tests against baseline CMSSW_7_6_X_2015-12-10-2300 show no significant differences, as expected.

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_7_6_X IBs (tests are also fine). This pull request requires discussion in the ORP meeting before it's merged. @slava77, @davidlange6, @Degano, @smuzaffar

@cvuosalo
Copy link
Contributor

@schoef: Please make an 80X version of this PR. Thanks.

@davidlange6
Copy link
Contributor

+1

cmsbuild added a commit that referenced this pull request Jan 5, 2016
Consumes migration for PFSimParticleProducer in RecoParticleFlow/PFSimProducer
@cmsbuild cmsbuild merged commit 27da171 into cms-sw:CMSSW_7_6_X Jan 5, 2016
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.

None yet

7 participants