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
The current multi-start optimization scheme in pypesto.optimize.optimize.minimize relies on creating copies for all N starts upfront. For larger number of starts and large problems, this can become very memory-intensive. It would be great if the problem copies would be created (and destroyed) dynamically when a previous task finished.
The current multi-start optimization scheme in
pypesto.optimize.optimize.minimize
relies on creating copies for all N starts upfront. For larger number of starts and large problems, this can become very memory-intensive. It would be great if the problem copies would be created (and destroyed) dynamically when a previous task finished.Relevant code:
pyPESTO/pypesto/optimize/optimize.py
Lines 145 to 158 in 47ae5d5
CC @stephanmg
EDIT: I think the actual copies are only created by the
MultiProcessEngine
:pyPESTO/pypesto/engine/multi_process.py
Line 73 in 47ae5d5
Changing the up-front pickling and
Pool.imap
toProcessPoolExecutor.submit
with on-demand pickling should already give a good improvement.The text was updated successfully, but these errors were encountered: