dynamics-of-stellar-systems / dynamite

dynamics, age and metallicity indicators tracing evolution
MIT License
14 stars 1 forks source link

Reduce Python NNLS RAM requirements #394

Closed maindlt closed 3 months ago

maindlt commented 3 months ago

A user reported DYNAMITE runs out of RAM when there are many concurrent weight solving processes with the Python NNLS weight solver (specific case: 528GB RAM, ncpus_weights = 32, orbit library size 14x7x7).

Diagnosis: one of the Python NNLS processes throws a "Cannot allocate memory" error in LegacyOrbitLibrary.read_orbit_base() in the line that extracts the orbit library.

Before this PR:

Solution:

Tested:

@prashjet: It is quite straightforward, but it'll be great if you can have a glance at the code changes (there're not many...).

Closes #393.

maindlt commented 3 months ago

Great, many thanks! :-)