Skip to content

Commit 14c8b1f

Browse files
committed
refactor inverse_bayes_allocf
1 parent ffbe6c9 commit 14c8b1f

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

libensemble/alloc_funcs/inverse_bayes_allocf.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)