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

I/O / data iteration / file sizes #11

Open
tdixon97 opened this issue Nov 20, 2024 · 2 comments
Open

I/O / data iteration / file sizes #11

tdixon97 opened this issue Nov 20, 2024 · 2 comments
Assignees

Comments

@tdixon97
Copy link
Collaborator

We should make sure to handle the buffering / IO / memory usage of reboost. For example in our current (legacy) L-200 simulations stack often some processes use > 10 GB memory meaning few processes can be run, since some simulations (2vbb) are very large.

  • currently for the hit tier (for hpge) I read the data in chunks and this works fine
  • however for events / TCM it is not possible and the full hit tier file is read in memory (similar to evt tier in data)
  • we could consider adding some limit on the maximum hit file size? Or an option to generate multiple files?

Maybe we should review the overall strategy @gipert / @ManuelHu ?

@ManuelHu
Copy link
Collaborator

on the optical part: the actual files containing stp data or my optmap "evt" files (just summed hitcounts) are iterated and should not take too much memory.

optical maps on the other hand can get huge (we are talking about > 50 GB for all individual channels together). So this is certainly a problem.

@gipert gipert changed the title io / iteration / file sizes I/O / data iteration / file sizes Nov 28, 2024
@gipert gipert self-assigned this Dec 6, 2024
@gipert
Copy link
Member

gipert commented Dec 18, 2024

We could store the index of the elm table (i.e. additional evtid column) along with hits in the hit tier. Then we would already have the necessary information to read chunks from each detector hit table that correspond to a given number of events that constitute the buffer at each iteration. Note that this also works if hits are dropped at the build-hit stage (if for example not a single scintillation photon reaches the SiPMs: there are steps but not hits)

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

No branches or pull requests

3 participants