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

Improve L1MuGMTMatrix #27538

Merged
merged 2 commits into from Jul 24, 2019
Merged

Improve L1MuGMTMatrix #27538

merged 2 commits into from Jul 24, 2019

Conversation

Dr15Jones
Copy link
Contributor

PR description:

  • Use just a single contiguous memory location instead of an array of arrays.
  • Use std::unique_ptr<T[]> to manage the memory
  • Initialize matrix elements in the constructor
  • Added a unit test to prove no functional changes happened

Not initializing the matrix elements in the constructor was causing a complaint by UBSAN.

PR validation:

Code compiles and the new unit test passes.

This is a technical change and should have no impact on the results. It should take less memory and be faster.

- Use just a single contiguous memory location instead of an
array of arrays.
- Use std::unique_ptr<T[]> to manage the memory
- Added a unit test to prove no functional changes happened
UBSAN was complaining about using the copy constructor to fill
elements of a std::vector<L1MuGMTMatrix<*>> when the internal
array of L1MuGMTMatrix had not been initialized.
@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-27538/10915

  • This PR adds an extra 24KB to repository

@Dr15Jones
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jul 16, 2019

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/1495/console Started: 2019/07/16 23:18

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @Dr15Jones (Chris Jones) for master.

It involves the following packages:

L1Trigger/GlobalMuonTrigger

@cmsbuild, @rekovic, @benkrikler can you please review it and eventually sign? Thanks.
@Martin-Grunewald this is something you requested to watch as well.
@davidlange6, @slava77, @fabiocos you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

@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-598931/1495/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 32
  • DQMHistoTests: Total histograms compared: 3081858
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3081535
  • DQMHistoTests: Total skipped: 322
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 31 files compared)
  • Checked 133 log files, 14 edm output root files, 32 DQM output files

@Dr15Jones
Copy link
Contributor Author

ping @rekovic @benkrikler

@fabiocos
Copy link
Contributor

@rekovic I would like to move forward with this PR. The code update looks ok to me, and the tests do not show any change. Please have a look asap, I plan to merge this PR in the coming IBs unless you have explicit objections.

@fabiocos
Copy link
Contributor

+1

@rekovic please review this PR for possible future comments

@fabiocos
Copy link
Contributor

merge

@cmsbuild cmsbuild merged commit 563e547 into cms-sw:master Jul 24, 2019
@Dr15Jones Dr15Jones deleted the improveL1MuGMTMatrix branch July 30, 2019 20:30
@davidlange6
Copy link
Contributor

hi @Dr15Jones - unfortunately L1Trigger/GlobalMuonTrigger/src defines a plugin so you can't use it in the tests here (causing a warning in release builds now)

https://github.com/cms-sw/cmssw/pull/27538/files#diff-ad9585c8e3b32fba9922df3e129141f8R17

@Dr15Jones
Copy link
Contributor Author

It would seem to me that the correct solution is to move the plugin out of /src and into a new /plugin directory (I'm on vacation today and for the next few days).

@Dr15Jones
Copy link
Contributor Author

@davidlange6 see #27828

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

4 participants