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

backport of #14058: speed up avoiding eta phi computations, and #14151: Slim down PFRecHit #15294

Merged
merged 16 commits into from Aug 26, 2016

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Jul 26, 2016

backport to 8.0.x:

@fwyzard
Copy link
Contributor Author

fwyzard commented Jul 26, 2016

tracked at #15151

@fwyzard
Copy link
Contributor Author

fwyzard commented Jul 26, 2016

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 26, 2016

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

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_8_0_X.

It involves the following packages:

CondTools/Geometry
DataFormats/Math
DataFormats/ParticleFlowReco
Fireworks/ParticleFlow
Geometry/CaloGeometry
Geometry/HcalEventSetup
Geometry/HcalTowerAlgo
RecoParticleFlow/PFClusterProducer
RecoParticleFlow/PFClusterTools
RecoParticleFlow/PFProducer

@civanch, @Dr15Jones, @cvuosalo, @ianna, @mdhildreth, @cmsbuild, @alja, @slava77, @ggovi, @davidlange6 can you please review it and eventually sign? Thanks.
@ghellwig, @apfeiffer1, @makortel, @mmarionncern, @rafaellopesdesa, @lgray, @alja, @cbernet, @bachtis this is something you requested to watch as well.
@slava77, @smuzaffar you are the release manager for this.

cms-bot commands are list here #13028

@cmsbuild
Copy link
Contributor

-1

Tested at: 299d487

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

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test runtestRecoEgammaElectronIdentification had ERRORS

@cmsbuild
Copy link
Contributor

@fwyzard
Copy link
Contributor Author

fwyzard commented Jul 28, 2016

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 28, 2016

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

@cmsbuild
Copy link
Contributor

-1

Tested at: 299d487

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

I found follow errors while testing this PR

Failed tests: UnitTests

  • Unit Tests:

I found errors in the following unit tests:

---> test runtestRecoEgammaElectronIdentification had ERRORS

@cmsbuild
Copy link
Contributor

@slava77
Copy link
Contributor

slava77 commented Jul 29, 2016

@smuzaffar
could you please check if this PR will break FWLite build or not in 80X.
I seem to recall we needed some adjustments in 81X for this (dependence on Geometry)

@slava77
Copy link
Contributor

slava77 commented Jul 30, 2016

Looking at timing, apparently the effect is only about 3%, not as large as the 7% presented in the RECO meeting (change estimated before #15240 was merged).
The test is using HLTPhysics_Run276935_LS80-220.root provided by Clint, I tested in CMSSW_8_0_X_2016-07-26-2300, which includes this PR

   -1.107807      -0.32%         1.40 ms/ev ->         0.40 ms/ev hltParticleFlowRecHitECALL1Seeded
   -1.099400      -1.39%         6.04 ms/ev ->         1.76 ms/ev hltParticleFlowRecHitPSUnseeded
   -1.081088      -0.43%         1.88 ms/ev ->         0.56 ms/ev hltParticleFlowRecHitPSL1Seeded
   -1.043078      -0.00%         0.00 ms/ev ->         0.00 ms/ev hltParticleFlowRecHitECALForTkMuons
   -1.010721      -0.45%         2.09 ms/ev ->         0.69 ms/ev hltParticleFlowRecHitECALUnseeded
   -1.008720      -0.00%         0.00 ms/ev ->         0.00 ms/ev hltParticleFlowRecHitPSForTkMuons
   -1.008665      -0.00%         0.01 ms/ev ->         0.00 ms/ev hltParticleFlowRecHitPSForMuons
   -0.855917      -0.14%         0.73 ms/ev ->         0.29 ms/ev hltParticleFlowRecHitHBHEForEgamma
   -0.832427      -0.23%         1.19 ms/ev ->         0.49 ms/ev hltParticleFlowRecHitHBHE
   -0.753037      -0.38%         2.14 ms/ev ->         0.97 ms/ev hltParticleFlowRecHitHF
   -0.553912      -0.35%         2.47 ms/ev ->         1.40 ms/ev hltParticleFlowRecHitHCAL
..  -11.4 ms/evt 
   +0.043551      +0.07%         4.63 ms/ev ->         4.84 ms/ev hltParticleFlowBlockReg
   +0.041118      +0.11%         7.96 ms/ev ->         8.29 ms/ev hltParticleFlowBlockForTaus
   +0.041006      +0.26%        19.40 ms/ev ->        20.21 ms/ev hltParticleFlowBlock
.. +1.3 ms/ev total
   +0.422218      +0.17%         1.01 ms/ev ->         1.55 ms/ev hltParticleFlowClusterECALL1Seeded
   +0.204638      +0.28%         3.85 ms/ev ->         4.72 ms/ev hltParticleFlowClusterECALUnseeded
   -0.093731      -0.05%         1.84 ms/ev ->         1.68 ms/ev hltParticleFlowClusterECALUncorrectedUnseeded
   -0.063899      -0.03%         1.27 ms/ev ->         1.19 ms/ev hltParticleFlowClusterECALUncorrectedL1Seeded
.. +1.2 ms/ev

Total per-job time changes from 0.379 s/ev to 0.371 s/ev, consistent with the total from the most relevant modules listed above.
#15240 (comment) shows that there is a large overlap in the set of modules with changing time per event.

@slava77
Copy link
Contributor

slava77 commented Jul 30, 2016

+1

for #15294 299d487

  • backport of a combination of speed up avoiding eta phi computations #14058 (parts of this were already in 80X, changed to a faster version of 81X) and Slim down PFRecHit #14151.
  • jenkins tests pass and comparisons with baseline show small differences observed also in individual tests of the 81X PRs
  • [edited] extended statistics tests show small changes in products in RECO and in HLT, without any specific pattern. This is expected from numerical level changes made in the code of this PR.
  • HLT timing tests show noticeable improvement, mainly in hltParticleFlowRecHit* modules, ups and downs consistent with what was seen also in 81X testing Slim down PFRecHit #14151 (comment). The net gain on HLTPhysics_Run276935_LS80-220 appears to be close to 3%.

@fwyzard it would be nice if you could check for the record the effect in your HLT setup using 8_0_16.

I'm signing already, since even the 3% are worth it.

The changes include backward-compatible data format changes and will need to be followed with dataset processing version change.

@fwyzard
Copy link
Contributor Author

fwyzard commented Jul 30, 2016 via email

Neighbours buildNeighbours(unsigned int n) const { return Neighbours(&neighbours_.front(),n);}

/// cell geometry
CaloCellGeometry const * caloCell_=nullptr;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since PFRecHit are storable, how can this work? ROOT will attempt to write out the CaloCellGeometry object since it was not marked as transient!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Objection withdrawn. I didn't look far enough into the pull request changes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's a pointer. Why would root try to write the actual CaloCellGeometry object?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because that is what ROOT I/O does when it encounters a pointer, it tries to write the object pointed to out to the file.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting. I didn't know that.
(the caloCell_ is transient, so this discussion is mostly academic)

@davidlange6 davidlange6 merged commit ced6db6 into cms-sw:CMSSW_8_0_X Aug 26, 2016
@fwyzard fwyzard deleted the backport_14058+14151_80x branch September 1, 2016 12:14
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

6 participants