You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have tried to rerun my full cosmogenic simulations for the water tank (e.g. Simulate 1e7 muons and output all detector responses for every Ge77 event, including PMTs) and i suddenly started having memory issues. I have not exactly pinned it down, but i am 99% sure it has to be due to commit f0d40db, that added a G4TouchableHandle field to RMGOpticalDetectorHit.
Here are the heaptrack analytics of the run when i go to commit f0d40db (I ran out of memory before finishing the run):
As the G4TouchableHandle there is only required for the Draw() function, which has no use in batch mode, is it possible to hide this in batch mode? Or just use the pointer instead of the actual object?
The text was updated successfully, but these errors were encountered:
It is not useful to store a pointer to a G4TouchableHandle - it is already a "handle", i.e. a pointer to the underlying refcounted step point data (see G4ReferenceCountedHandle.hh)
The overhead of the handle itself should be minimal, but without storing the handle, the step data would not be kept around by the Geant4 core.
but we could make the storage optional, please test #206 if it fixes the high memory consumption.
I have tried to rerun my full cosmogenic simulations for the water tank (e.g. Simulate 1e7 muons and output all detector responses for every Ge77 event, including PMTs) and i suddenly started having memory issues. I have not exactly pinned it down, but i am 99% sure it has to be due to commit f0d40db, that added a
G4TouchableHandle
field toRMGOpticalDetectorHit
.Here are the heaptrack analytics of the run when i go to commit f0d40db (I ran out of memory before finishing the run):
And here is it if i go back to 172f1a1:
As the
G4TouchableHandle
there is only required for theDraw()
function, which has no use in batch mode, is it possible to hide this in batch mode? Or just use the pointer instead of the actual object?The text was updated successfully, but these errors were encountered: