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

Further optimization of the SiPixel LA PCL workflow #36565

Merged

Conversation

mmusich
Copy link
Contributor

@mmusich mmusich commented Dec 21, 2021

PR description:

This PR builds on top of #36538 and proposes some further optimization and bug-fixes to the SiPixel Lorentz Angle PCL workflow:

  • further memory footprint reduction is achieved in commit 69b9256 by loading the SiPixelTemplate object in memory on demand in the case in which the module SiPixelLorentzAnglePCLWorker is not run in PCL mode (notInPCL_ = True) and by reducing the number of bins of the 2D drift vs depth maps.
  • for Run2 replays the list of "new" modules is different. That is dealt with via era modifiers in commit c9aa27a
  • a bug that was messing up the computation of the value of the Lorentz Angle for the "new" modules is addressed at fb4f126
  • monitoring of the input number of clusters and output Lorentz Angle (and fit chi2/ndf) is introduced at 0cfb6bf
  • std::endl at the end of LogMessages is removed as requested at Several updates to SiPixel LA PCL workflow #36538 (comment) in commit 0cfb6bf
  • some documentation is added in commit 199bcd6

PR validation:

Privately run:

 cmsDriver.py testReAlCa -s ALCA:PromptCalibProdSiPixelLorentzAngle --conditions 121X_dataRun3_Express_TIER0_REPLAY_Run2_v1 --scenario pp --data --era Run2_2018 --datatier ALCARECO --eventcontent ALCARECO --processName=ReAlCa -n 100000 --dasquery='file dataset=/StreamExpress/Tier0_REPLAY_2021-SiPixelCalSingleMuon-Express-v1/ALCARECO' --customise_commands='process.ALCARECOCalSignleMuonFilterForSiPixelLorentzAngle.TriggerResultsTag = cms.InputTag ( "TriggerResults","","HLT" ) ; process.ALCARECOCalSignleMuonFilterForSiPixelLorentzAngle.HLTPaths = ["*"]' --nThreads=4 

followed by:

 cmsDriver.py stepHarvest -s ALCAHARVEST:SiPixelLA --conditions 121X_dataRun3_Express_TIER0_REPLAY_Run2_v1 --scenario pp --data --era Run2_2018 --filein file:PromptCalibProdSiPixelLorentzAngle.root -n -1

the results are uploaded to a private DQM GUI at https://tinyurl.com/yxcmsvn6:

  • necessitates tunneling (ssh -NL 8060:localhost:8060 <USER>@lxplus723.cern.ch).

Profiling the RSS vs time of the job containing the ALCA:PromptCalibProdSiPixelLorentzAngle (run on 4 threads and 4 stream) shows a reduction of about half:

memory_target

if this PR is a backport please specify the original PR and why you need to backport that PR:

Not a backport, but might be backported together with #36538 to CMSSW_12_2_X as agreed at #36538 (comment)

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36565/27510

  • This PR adds an extra 28KB to repository

  • There are other open Pull requests which might conflict with changes you have proposed:

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @mmusich (Marco Musich) for master.

It involves the following packages:

  • CalibTracker/SiPixelLorentzAngle (alca)

@cmsbuild, @malbouis, @tvami, @yuanchao, @francescobrivio can you please review it and eventually sign? Thanks.
@tocheng, @OzAmram, @ferencek, @mmusich, @dkotlins, @tvami this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@tvami
Copy link
Contributor

tvami commented Dec 21, 2021

@cmsbuild , plese test

@mmusich
Copy link
Contributor Author

mmusich commented Dec 21, 2021

type bugfix

@mmusich
Copy link
Contributor Author

mmusich commented Dec 21, 2021

please test

there is a typo at #36565 (comment)

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4779ad/21424/summary.html
COMMIT: 199bcd6
CMSSW: CMSSW_12_3_X_2021-12-21-1100/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36565/21424/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 43
  • DQMHistoTests: Total histograms compared: 3461551
  • DQMHistoTests: Total failures: 24
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3461505
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -1314.487 KiB( 42 files compared)
  • DQMHistoSizes: changed ( 1001.0 ): -1314.487 KiB AlCaReco/SiPixelLorentzAngle
  • Checked 181 log files, 42 edm output root files, 43 DQM output files
  • TriggerResults: no differences found

@yuanchao
Copy link
Contributor

+1

  • memory optimization and bug fixes
  • matrix tests and unit tests passed

@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. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

perrotta commented Dec 22, 2021

@mmusich are the differences observed in the DQM for wf 1001 expected because of the code changes integrated here? E.g.:
image

@perrotta
Copy link
Contributor

@mmusich, even if not part of this PR, the static analyzer reports about a non const static variable lower_bin_ in CalibTracker/SiPixelLorentzAngle/src/SiPixelLorentzAngle.cc
As far as I can see, that variable is never used in that code: am I missing something, or its definition can simply get removed from SiPixelLorentzAngle.cc?
(Not necessarily for this PR, unless given the comments above you realize that an update is needed anyhow)

@mmusich mmusich force-pushed the furtherOptSiPixelLorentzAnglePCLWorker branch from cf0934c to 753902a Compare December 23, 2021 21:19
@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-36565/27549

  • This PR adds an extra 40KB to repository

@cmsbuild
Copy link
Contributor

Pull request #36565 was updated. @cmsbuild, @malbouis, @tvami, @yuanchao, @francescobrivio can you please check and sign again.

@mmusich
Copy link
Contributor Author

mmusich commented Dec 23, 2021

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4779ad/21461/summary.html
COMMIT: 753902a
CMSSW: CMSSW_12_3_X_2021-12-23-1100/slc7_amd64_gcc10
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/36565/21461/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 43
  • DQMHistoTests: Total histograms compared: 3461652
  • DQMHistoTests: Total failures: 0
  • DQMHistoTests: Total nulls: 69
  • DQMHistoTests: Total successes: 3461561
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -3267.507 KiB( 42 files compared)
  • DQMHistoSizes: changed ( 1001.0 ): -3268.157 KiB AlCaReco/SiPixelLorentzAngle
  • DQMHistoSizes: changed ( 1001.0 ): 0.650 KiB AlCaReco/SiPixelLorentzAngleHarvesting
  • Checked 181 log files, 42 edm output root files, 43 DQM output files
  • TriggerResults: no differences found

@mmusich
Copy link
Contributor Author

mmusich commented Jan 3, 2022

@cms-sw/alca-l2 ping

@tvami
Copy link
Contributor

tvami commented Jan 3, 2022

Hi @mmusich , Happy New Year! I thought you had a question to DQM in this PR. Is that resolved? Thanks

@mmusich
Copy link
Contributor Author

mmusich commented Jan 3, 2022

Is that resolved?

As far as I am concerned, yes

@tvami
Copy link
Contributor

tvami commented Jan 3, 2022

Ok, from the AlCa side I think we are good

@tvami
Copy link
Contributor

tvami commented Jan 3, 2022

+alca

@cmsbuild
Copy link
Contributor

cmsbuild commented Jan 3, 2022

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. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2)

@perrotta
Copy link
Contributor

perrotta commented Jan 4, 2022

+1

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

5 participants