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

RecoLocalTracker/SiPixelRecHits: changes to vectorize loops in VVIObjF::VVIObjF constructor #39218

Merged
merged 6 commits into from
Aug 31, 2022

Conversation

gartung
Copy link
Member

@gartung gartung commented Aug 26, 2022

Using Intel Advisor to profile workflow r39634.21 with a CMSSW_12_5_LTO integration build release showed the top time consuming loop with floating point operation is in VVIObjF::VVIObjF constructor.

"1381";"[loop in VVIObjF::VVIObjF at log.h:179]";"41.230s";"28.288s";"Scalar";"";"";"";"";"log.h:179";"libRecoLocalTrackerSiPixelRecHits.so"

With this change the loop calculations are vectorized and the time is reduced.

"1772";"[loop in VVIObjF::VVIObjF at log.h:179]";"3.824s";"3.824s";"Vectorized (Body)";"";"SSE2";"";"";"log.h:179";"libRecoLocalTrackerSiPixelRecHits.so"

Further profiling is being done with CMSSW_12_5_X integration build release.

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39218/31837

  • This PR adds an extra 16KB to repository

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

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39218/31838

  • This PR adds an extra 16KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @gartung (Patrick Gartung) for master.

It involves the following packages:

  • RecoLocalTracker/SiPixelRecHits (reconstruction)

@jpata, @cmsbuild, @mandrenguyen, @clacaputo can you please review it and eventually sign? Thanks.
@mtosi, @VourMa, @felicepantaleo, @GiacomoSguazzoni, @JanFSchulte, @rovere, @VinInn, @OzAmram, @ferencek, @dkotlins, @gpetruc, @mmusich, @threus, @tvami this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-39218/31840

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

Pull request #39218 was updated. @jpata, @cmsbuild, @mandrenguyen, @clacaputo can you please check and sign again.

@gartung
Copy link
Member Author

gartung commented Aug 26, 2022

enable profiling

@gartung
Copy link
Member Author

gartung commented Aug 26, 2022

please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9899c9/27166/summary.html
COMMIT: d042492
CMSSW: CMSSW_12_6_X_2022-08-29-1100/el8_amd64_gcc10
Additional Tests: PROFILING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/39218/27166/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: 51
  • DQMHistoTests: Total histograms compared: 3695708
  • DQMHistoTests: Total failures: 21
  • DQMHistoTests: Total nulls: 1
  • DQMHistoTests: Total successes: 3695664
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.004 KiB( 50 files compared)
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 212 log files, 49 edm output root files, 51 DQM output files
  • TriggerResults: no differences found

@mandrenguyen
Copy link
Contributor

+reconstruction
Technical. Diffs in reco comparisons appears negligible

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

@tvami
Copy link
Contributor

tvami commented Aug 30, 2022

assign trk-dpg

@cmsbuild
Copy link
Contributor

New categories assigned: trk-dpg

@connorpa,@mmusich,@tsusa you have been requested to review this Pull request/Issue and eventually sign? Thanks

@mmusich
Copy link
Contributor

mmusich commented Aug 30, 2022

you have been requested to review this Pull request/Issue and eventually sign

the last round of tests (also the logs) look totally clean and we have in principle monitoring of the cluster probability in the offline DQM.
Not sure if some specific validation would still be required here, but I would be in favor of just signing.

@gartung
Copy link
Member Author

gartung commented Aug 30, 2022

This is the branch I used for the comparison of the arrays calculated with the iterative loop and with the vectorized loop. It produces a lot of output so it should only be used on one event.
master...gartung:cmssw:gartung-vviobjf-vectorize-test

@mmusich
Copy link
Contributor

mmusich commented Aug 30, 2022

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

@perrotta
Copy link
Contributor

@cmsbuild cmsbuild merged commit fb49407 into cms-sw:master Aug 31, 2022
@gartung gartung deleted the gartung-vviobjf-vectorize branch December 7, 2022 14:26
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