sphenix-tracking-l AT lists.bnl.gov
Subject: sPHENIX tracking discussion
List archive
- From: Christof Roland <christof.roland AT cern.ch>
- To: Hugo Pereira Da Costa via sPHENIX-tracking-l <sphenix-tracking-l AT lists.bnl.gov>
- Subject: [Sphenix-tracking-l] Clusterizer fixes
- Date: Fri, 28 Jan 2022 16:52:53 +0100
Hi Everybody,
I am more or less through with the memory leak hunt in and around the Clusterizer.
A few observations:
- There are still a large number of hits in the hitsets that lie very far beyond the limits of the given hitset, bin less than zero or more than 1000 binis away. This should be fixed. These hits also caused a memory leak in the clusterizer logic.
- One big memory leak was a make_pair to put the hit assiciation info in the corresponding map in the threaded part of the clusterizer. No clue what is exactly happening there but a workaround is in place. Fill the htikey clusterkey pair in a vector in each thread and copying the pairs from the vector to the association map when joining the threads. This also speeds up the clusterizer quite a bit.
- There were cases where the clusters lie exactly on the acts-sublayer boundary. Impressive since its double precision. A >= instead a > fixed that. The remaining error messages for cluster rejected due to missing sub layer insdeces are gone now
- The TrkrclusterHitAssocv3 and TrkrClusterContainerv3 Reset functions have been updated to the best of our knowledge.
- The final big memory leak was not in the TpcClusterizer but in the TpcClusterCleaner. For the Clusters that are to be removed the TrkrClusterContainerv3 - Remove function is called. This removes the ClusterKey - TrkrCluster pointer pair from the container, but it didn't delete the Cluster object. This is fixed now.
Below i have attached the memory profile over ~2200 events.
I'll commit the current version to github now.
cheers
Christof
- [Sphenix-tracking-l] Clusterizer fixes, Christof Roland, 01/28/2022
Archive powered by MHonArc 2.6.24.