-
Notifications
You must be signed in to change notification settings - Fork 29
[fix] Lazy access for PSyGrid initial/final values to save RAM #778
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
base: main
Are you sure you want to change the base?
Conversation
|
This is with lazy loading of the PSyGrids:
The peak data consumption is about 3 GB, reducing total RAM usage by 50%. The RAM usage due to grid/step loading is reduced by ~70%. This does not seem to affect runtime, but still checking. This brings RAM usage back down to around what was shown e.g., in Issue#224. The change made here is in as |
…hens run time due to I/O overhead, so not worth it yet
dc52455 to
53520fc
Compare
for more information, see https://pre-commit.ci
…nt lengthens run time due to I/O overhead, so not worth it yet" This reverts commit 53520fc.
…POSYDON into sg_fix_grid_data_ram_usage
…kMatcher. Also trying a TrackMatcher that is accessible by all evolution steps. Not done correctly yet, just for testing.
for more information, see https://pre-commit.ci
|
Great work here! Identifying the culprits is not easy. I really like the TrackMatcher being limited to 1. This to me seems to be a major culprit for the higher memory usage, since every single-star model, after its read in once, is stored in memory. This would increase the load significantly with one TrackMatch. For the initial and final values, I am a bit worried about the I/O component. For detached evolution, reading in a single star model from disk is the slowest part on the HPC facility. I am worried that switching to the memory reference will make this a larger issue. I would pose more general questions:
|
|
thanks @maxbriel, I'll be doing some testing on HPC and at todays dev meeting we discussed preloading the single star grid tracks that are used during detached evolution prior to binary evolution which I will also look in to. This may help save on I/O overhead during the detached step. |
for more information, see https://pre-commit.ci





Testing a potential solution to reduce some of the RAM used during population synthesis.
Right now we load entire data array for the initial and final values into RAM. About 5 GB of memory is allocated in total. If we instead use lazy access (storing the memory reference and not the entire array), we can save some RAM. With lazy access, we instead allocate only ~1.5 GB in total. Looking into further optimizations and still testing this one.
Also looking into RAM usage of binary evolution, although @maxbriel has looked into this quite a bit already (see Issue#224).