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

Bksearch fix #351

Merged
merged 2 commits into from
Sep 3, 2021
Merged

Bksearch fix #351

merged 2 commits into from
Sep 3, 2021

Conversation

osschar
Copy link
Collaborator

@osschar osschar commented Sep 3, 2021

  1. This fixes an issue found in Backward search implementation #345 - efficiency dropped and fakes were worse (slightly). See also back to BackwardFitBH for iters without bw search #349.
    BackwardFit was preferentially using overlap hits on a given layer (this has been corrected before in BackwardFitBH).
  2. BackwardFit relies on all TrackCands being allocated in the same thread / VM segment (whatever vgather requires the address offsets to conform to). In CMSSW it was observed that jemalloc can lead to TrackCands being allocated in significantly different segments. To work around this, a combined-candidate memory pool (CcPool) has been added that pre-allocates memory for all CombCandidates and then just hands it out in EvenOfCombinedCandidates::Reset().

MTV validation plots: http://xrd-cache-1.t2.ucsd.edu/matevz/PKF/bks-und-ccand-fix.vs.devel/

P.S. No. 2 could also be used for other TrackCand related objects (and temporary vectors) but it is not easy to calculate the upper bound of their total memory usage.

…y for them in a single allocation. Jemalloc used in cmssw can return space from allocations done from different threads (it seems).
@slava77 slava77 merged commit 7944010 into devel Sep 3, 2021
@slava77 slava77 mentioned this pull request Sep 16, 2021
@osschar osschar deleted the bksearch-fix branch December 13, 2021 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants