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

[14_1_X] Add runtime allocation of PF rechit fraction SoA #46136

Merged
merged 3 commits into from
Oct 5, 2024

Conversation

jsamudio
Copy link
Contributor

@jsamudio jsamudio commented Sep 26, 2024

PR description:

This PR is made to address crashes of the type in #45477 and #44634. It provides runtime allocation of the PF RecHit Fraction SoA to minimize memory usage and avoid crashes when the allocation needed was not a reasonable multiple of the number of PF RecHits. This change is made in a way which does not touch the configuration, and therefore is transparent to the HLT menu.

PR validation:

PR physics performance was validated using the matrix workflow 12434.423 and checking output Legacy CPU vs GPU comparisons. The event throughput was tested on a HLT test machine with the following results:

Running 3 times over 6300 events with 8 jobs, each with 32 threads, 32 streams and 1 GPUs

Reference: 565.8 ±   0.3 ev/s

This PR: 564.7 ±   1.3 ev/s

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

Verbatim backport of #46135 for 14_1_X
Backport of #46135 for 14_1_X, but differs by one commit which makes the pfRecHitFractionAllocation parameter optional so that this update will not conflict with the current HLT menu. Also does not include the change to the menu customization.

@fwyzard @waredjeb

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 26, 2024

A new Pull Request was created by @jsamudio for CMSSW_14_1_X.

It involves the following packages:

  • RecoParticleFlow/PFClusterProducer (reconstruction)

@cmsbuild, @jfernan2, @mandrenguyen can you please review it and eventually sign? Thanks.
@felicepantaleo, @hatakeyamak, @lgray, @missirol, @mmarionncern, @rovere, @sameasy, @seemasharmafnal this is something you requested to watch as well.
@antoniovilela, @mandrenguyen, @rappoccio, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

cmsbuild commented Sep 26, 2024

cms-bot internal usage

@mmusich
Copy link
Contributor

mmusich commented Sep 26, 2024

backport of #46135

@jfernan2
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

+1

Size: This PR adds an extra 28KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-29c216/41772/summary.html
COMMIT: 155d540
CMSSW: CMSSW_14_1_X_2024-09-26-1100/el8_amd64_gcc12
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/46136/41772/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

@jfernan2
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_14_1_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_14_2_X is complete. This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@mandrenguyen
Copy link
Contributor

hold
Just to remind that master version is also on hold

@cmsbuild
Copy link
Contributor

Pull request has been put on hold by @mandrenguyen
They need to issue an unhold command to remove the hold state or L1 can unhold it for all

@mandrenguyen
Copy link
Contributor

unhold

@mmusich
Copy link
Contributor

mmusich commented Oct 4, 2024

Not sure it's the best solution, but I don't see a problem with closing this PR and opening a new one where you cherry-pick only the relevant commits.

I'd rather rebase against CMSSW_14_1_X to avoid loosing the history. If you cherry pick the commits you can force push on this same branch (no need to close this PR)

Fixed to work with latest updates

Fix for case with 0 nRH

Fix bad allocation crash

Remove extra lines

Simplify memcpy to single int

Code checks and formatting

Implement review suggestions
Adjust formatting

Rename data member and remove unnecessary include
@jsamudio jsamudio force-pushed the dev_pfrhfAlloc_14_1_X branch from 36f2bb0 to 8ccf6b5 Compare October 4, 2024 16:46
@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 4, 2024

Pull request #46136 was updated. @Martin-Grunewald, @cmsbuild, @fwyzard, @jfernan2, @makortel, @mandrenguyen, @mmusich can you please check and sign again.

@mmusich
Copy link
Contributor

mmusich commented Oct 4, 2024

enable gpu

@mmusich
Copy link
Contributor

mmusich commented Oct 4, 2024

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 4, 2024

+1

Size: This PR adds an extra 20KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-29c216/41985/summary.html
COMMIT: 8ccf6b5
CMSSW: CMSSW_14_1_X_2024-10-04-1100/el8_amd64_gcc12
Additional Tests: GPU
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/46136/41985/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: 24 differences found in the comparisons
  • DQMHistoTests: Total files compared: 44
  • DQMHistoTests: Total histograms compared: 3331166
  • DQMHistoTests: Total failures: 1429
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3329717
  • DQMHistoTests: Total skipped: 20
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 43 files compared)
  • Checked 191 log files, 161 edm output root files, 44 DQM output files
  • TriggerResults: no differences found

GPU Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 53015
  • DQMHistoTests: Total failures: 25
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 52990
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 24 log files, 30 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

@mmusich
Copy link
Contributor

mmusich commented Oct 4, 2024

+hlt

@fwyzard
Copy link
Contributor

fwyzard commented Oct 4, 2024

+1

@mandrenguyen
Copy link
Contributor

+1
Assuming reco re-sign

@cmsbuild
Copy link
Contributor

cmsbuild commented Oct 5, 2024

This pull request is fully signed and it will be integrated in one of the next CMSSW_14_1_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_14_2_X is complete. This pull request will be automatically merged.

@cmsbuild cmsbuild merged commit 4bc3e62 into cms-sw:CMSSW_14_1_X Oct 5, 2024
12 checks passed
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.

7 participants