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

speed up TrackExtenderWithMTDT #30902

Conversation

slava77
Copy link
Contributor

@slava77 slava77 commented Jul 24, 2020

using D49 ttbar with PU200 (23434.21) I get 4.8 times speedup in TrackExtenderWithMTDT, or about 10% reco time (less I/O; 7% with I/O included).

There are several parts

  • std::bind case is the worst offender and I'm mostly to blame for this, as it came out in review of MTD TDR Reconstruction + MTD Track Association BDT  #28815
  • after the std::bind fix, other updates are just moving repeated computations out to a common place and add up to 30% additional speedup

I checked that the reco comparisons of trackExtenderWithMTDT are the same on 50 events

Profiler report as of 376a099 (before the last commit
9ac0a76 which sped up by about 10% fractionally) is at https://slava77sk.web.cern.ch/slava77sk/reco/cgi-bin/igprof-navigator/CMSSW_11_2_X_2020-07-21-2300-sign1106.376a0992c5d.23434.21.step3.50.pp/94

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30902/17295

  • This PR adds an extra 28KB to repository

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@slava77
Copy link
Contributor Author

slava77 commented Jul 24, 2020

@mtosi @VinInn
the TrackExtenderWithMTDT could benefit in speed if the track trajectories for generalTracks were already available in the event.
IIUC, they should already be available, but not sure how deep one would need to go to get them to generalTracks.
Can this be added for "free", at a cost of copying this data, or would it by itself be equivalent to calling TrackTransformer::transform(reco::Track that's done here anyways (in the latter case, it's not going to give an overall speedup)?

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30902/17296

  • This PR adds an extra 28KB to repository

@cmsbuild
Copy link
Contributor

Pull request #30902 was updated. @perrotta, @jpata, @cmsbuild, @kpedro88, @slava77 can you please check and sign again.

@slava77
Copy link
Contributor Author

slava77 commented Jul 25, 2020

@cmsbuild please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 25, 2020

The tests are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+1
Tested at: 6f27f6d
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3822eb/8290/summary.html
CMSSW: CMSSW_11_2_X_2020-07-25-1100
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3822eb/8290/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 16 differences found in the comparisons
  • DQMHistoTests: Total files compared: 34
  • DQMHistoTests: Total histograms compared: 2526188
  • DQMHistoTests: Total failures: 7
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2526134
  • DQMHistoTests: Total skipped: 47
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 33 files compared)
  • Checked 144 log files, 17 edm output root files, 34 DQM output files

@slava77
Copy link
Contributor Author

slava77 commented Jul 25, 2020

Reco comparison results: 16 differences found in the comparisons

these are in slimmedTaus, and should be unrelated to this PR, I expect these to be random, related to #30341 .
After #30919 makes it to the IB/baseline, these should go away

@slava77
Copy link
Contributor Author

slava77 commented Jul 27, 2020

@pmeridian @parbol
it would be nice if you could confirm/acknowledge that updates in this PR are OK for you.
Thank you.

@kpedro88
Copy link
Contributor

+upgrade

@pmeridian
Copy link
Contributor

@pmeridian @parbol
it would be nice if you could confirm/acknowledge that updates in this PR are OK for you.
Thank you.

Thanks for this nice technical improvement. Looking at some of your changes to the std::bind, I've assumed some of this were already implemented, maybe a missing push from my side...

@slava77
Copy link
Contributor Author

slava77 commented Jul 28, 2020

+1

for #30902 6f27f6d

@silviodonato
it would be nice to get this in pre3.

@cmsbuild
Copy link
Contributor

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)

@silviodonato
Copy link
Contributor

+1
(10% reco time, wow!)

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