Open
Description
From #46040 (comment)
The function reco::details::loadTMVAWeights()
uses 11 MB memory per stream (1 thread/stream profile vs 4 thread/stream profile), corresponding to 87 MB in 8-thread PromptReco job.
The function is called by BaseMVAValueMapProducer<pat::Electron>
and BaseMVAValueMapProducer<pat::Muon>
constructors.
Avoiding the replication would reduce PromptReco memory by 76 MB. I don't know if TMVA is thread safe (i.e. if it could be easily moved to a edm::GlobalCache
). If it is not, then probably some other inference engine should be considered.