-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[Run3 PromptReco] HLTPrescaleProvider::init()
uses 4.9 MB memory per stream
#46466
Comments
cms-bot internal usage |
A new Issue was created by @makortel. @Dr15Jones, @antoniovilela, @makortel, @mandrenguyen, @rappoccio, @sextonkennedy, @smuzaffar can you please review it and eventually sign/assign? Thanks. cms-bot commands are listed here |
assign hlt, l1 |
New categories assigned: hlt,l1 @aloeliger,@epalencia,@Martin-Grunewald,@mmusich you have been requested to review this Pull request/Issue and eventually sign? Thanks |
type performance-improvements |
Probably not per stream, but https://cmssdt.cern.ch/lxr/source/HLTrigger/HLTcore/interface/HLTPrescaleProvider.h is a helper class, not a plugin itself, to be used as data member of plugins. |
Both
that then lead to the memory usage to increase with more streams. Is |
In addition, the |
The class was not written with thread safety in mind, and calls into L1T code. |
From #46040 (comment)
The
HLTPrescaleProvider::init()
is called bypat::PATTriggerProducer::beginRun()
andBPHMonitor::bookHistograms()
, and ends up using 4.9 MB memory per stream (compare 1 thread/stream profile and 4 thread/stream profile. For an 8-thread/stream prompt reco job this would correspond to 39 MB.Most of the memory is held by
l1t::L1TGlobalUtil::retrieveL1Setup()
(similarly to #46448). Does it need to be replicated among streams?In addition, the
l1t::L1TGlobalUtil::retrieveL1Setup()
does 50 million memory allocations within its body, and nearly all of these come via the call fromHLTPrescaleProvider::init()
.The text was updated successfully, but these errors were encountered: