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
Trim FastjetJetProducer memory #9203
Trim FastjetJetProducer memory #9203
Conversation
please test |
The tests are being triggered in jenkins. |
A new Pull Request was created by @mark-grimes (Mark Grimes) for CMSSW_6_2_X_SLHC. Trim FastjetJetProducer memory It involves the following packages: RecoJets/JetProducers @cmsbuild, @cvuosalo, @nclopezo, @slava77 can you please review it and eventually sign? Thanks. |
nice! On Thu, May 21, 2015 at 3:24 PM, Mark Grimes notifications@github.com
|
This looks good, could we forward-port this also to the other active branches? |
@rappoccio, sure although I assume the gains scale with pileup, so the difference won't be as impressive as here. Just 75X or do you want any other branches? |
@mark-grimes We can only do 75x at this point, I think. Thanks a lot for the nice catch! |
@rappoccio @mark-grimes 75X and 74X are open for fixes like this, I am pretty sure. @slava77 comment? |
@mark-grimes Also, I have looked at the EGAlgo, looks pretty straightforward too. I'll send you a PR soon. |
@mark-grimes Just sent you a PR to this PR. |
@mark-grimes looking at PFClusterProducer now. Can you post a break down per module instance of the non-product retained memory? |
@rappoccio, 75X PR is #9206. Let me know if you want a 74X port as well. @lgray, that's the lower plot on #9194 (comment), i.e. https://cloud.githubusercontent.com/assets/6480160/7744379/9f720c02-ff9a-11e4-8be5-c9b43ccebc87.png. Oddly everything other than the HGCal instances has next to zero, which is a much bigger difference than I'd expect from the increased collection size (the plot doesn't include product size but work vectors usually scale with collection size). Maybe it is the topology, although I'd expect that not to fluctuate event to event. |
HGCClusterizer doesn't use the topology, so the answer is somewhere a bit -L On Thu, May 21, 2015 at 5:07 PM, Mark Grimes notifications@github.com
|
74X life time is expected to be short. On 5/21/15 10:07 AM, Mark Grimes wrote:
|
@mark-grimes Whenever you are ready please go ahead and merge mark-grimes#1 ! |
merge |
Trim FastjetJetProducer memory
Trim FastjetJetProducer memory (forward port #9203)
Trim FastjetJetProducer memory (forward port #9203 to 74X)
FastjetJetProducer keeps a chunk of memory between events unnecessarily. With the 24 instances in the standard sequence this amounts to more than 70 Mb at 200 pileup.
Here is the retained memory, excluding produced collection sizes, summed over all instances of the class at 200 pileup:
Here is the same thing after applying this pull request:
Swapping out the work vectors with empty vectors saves about 10 Mb of that 70. The remainder is from deleting the
fjClusterSeq_
object in between events (it's created new each event anyway).@lgray