Skip to content

Commit 6f713dc

Browse files
committed
refactor aposmm alloc, move skip_cancled_points line
1 parent 45e99b2 commit 6f713dc

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

libensemble/alloc_funcs/only_one_gen_alloc.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ def ensure_one_active_gen(W, H, sim_specs, gen_specs, alloc_specs, persis_info,
2121
gen_flag = True
2222
gen_in = gen_specs.get("in", [])
2323

24-
persis_info = support.skip_canceled_points(H, persis_info)
25-
2624
if persis_info["next_to_give"] < len(H):
2725
for wid in support.avail_worker_ids(gen_workers=False):
26+
persis_info = support.skip_canceled_points(H, persis_info)
2827
try:
2928
Work[wid] = support.sim_work(wid, H, sim_specs["in"], [persis_info["next_to_give"]], [])
3029
except InsufficientFreeResources:

libensemble/alloc_funcs/persistent_aposmm_alloc.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def persistent_aposmm_alloc(W, H, sim_specs, gen_specs, alloc_specs, persis_info
5353
)
5454
returned_but_not_given[point_ids] = False
5555

56-
for wid in support.avail_worker_ids(persistent=False):
56+
for wid in support.avail_worker_ids(persistent=False, gen_workers=False):
5757
persis_info = support.skip_canceled_points(H, persis_info)
5858

5959
if persis_info["next_to_give"] < len(H):
@@ -63,8 +63,11 @@ def persistent_aposmm_alloc(W, H, sim_specs, gen_specs, alloc_specs, persis_info
6363
except InsufficientFreeResources:
6464
break
6565
persis_info["next_to_give"] += 1
66+
if persis_info["next_to_give"] >= len(H):
67+
break
6668

67-
elif persis_info.get("gen_started") is None:
69+
if persis_info.get("gen_started") is None:
70+
for wid in support.avail_worker_ids(persistent=False, gen_workers=True):
6871
# Finally, call a persistent generator as there is nothing else to do.
6972
persis_info.get(wid)["nworkers"] = len(W)
7073
try:
@@ -74,5 +77,6 @@ def persistent_aposmm_alloc(W, H, sim_specs, gen_specs, alloc_specs, persis_info
7477
except InsufficientFreeResources:
7578
break
7679
persis_info["gen_started"] = True # Must set after - in case break on resources
80+
break
7781

7882
return Work, persis_info

0 commit comments

Comments
 (0)