Closed 3fon3fonov closed 3 years ago
Internally, dynesty
essentially just calls pool.map
, which does the really dumb thing and has the drawback which is exactly what you're describing. There 100% are better ways to do this so that points can get evaluated on the fly while the queue is always filled, but unfortunately dynesty
does not support those options.
Thanks! Let's keep this open a while if someone wants to share experience.
Just closing this since there hasn't been any updates over the past few months. Happy to reopen if there are still issues to be worked out.
Generally, I am able to run "dynesty" with multiprocessing, but sometimes I am reaching a bottleneck when all CPU pools must wait for the process to finish. There must be a way to do it with a "while" loop or something??? Without going to great details I usually do something like:
but on heavy modeling schemes, I often get only one thread/cpu working, whereas the rest are idling. Perhaps the runs are as independent as I would like to?
Can you help with some wisdom?
p.s. pathos is a wrapper around multiprocess but is far better because it allows you to pickle almost everything.
Thanks! Trifon