@@ -42,8 +42,9 @@ def only_persistent_gens_for_inverse_bayes(W, H, sim_specs, gen_specs, alloc_spe
4242 Work [wid ] = support .gen_work (wid , ["like" ], inds_to_send_back , persis_info .get (wid ), persistent = True )
4343
4444 points_to_evaluate = ~ H ["sim_started" ] & ~ H ["cancel_requested" ]
45- for wid in support .avail_worker_ids (persistent = False ):
46- if np .any (points_to_evaluate ):
45+ if np .any (points_to_evaluate ):
46+ for wid in support .avail_worker_ids (persistent = False , gen_workers = False ):
47+
4748 # perform sim evaluations (if any point hasn't been given).
4849 sim_subbatches = H ["subbatch" ][points_to_evaluate ]
4950 sim_inds = sim_subbatches == np .min (sim_subbatches )
@@ -54,13 +55,11 @@ def only_persistent_gens_for_inverse_bayes(W, H, sim_specs, gen_specs, alloc_spe
5455 except InsufficientFreeResources :
5556 break
5657 points_to_evaluate [sim_ids_to_send ] = False
57-
58- elif gen_count == 0 :
59- # Finally, generate points since there is nothing else to do.
60- try :
61- Work [wid ] = support .gen_work (wid , gen_specs ["in" ], [], persis_info .get (wid ), persistent = True )
62- except InsufficientFreeResources :
58+ if not np .any (points_to_evaluate ):
6359 break
64- gen_count += 1
60+
61+ elif gen_count == 0 :
62+ wid = support .avail_worker_ids (persistent = False , gen_workers = True )[0 ]
63+ Work [wid ] = support .gen_work (wid , gen_specs ["in" ], [], persis_info .get (wid ), persistent = True )
6564
6665 return Work , persis_info
0 commit comments