Skip to content

Commit

Permalink
Changing alloc_funcs to align with new support api
Browse files Browse the repository at this point in the history
  • Loading branch information
jmlarson1 committed Feb 11, 2019
1 parent b3d4b09 commit ad6efbe
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 19 deletions.
4 changes: 2 additions & 2 deletions libensemble/alloc_funcs/fast_alloc.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ def give_sim_work_first(W, H, sim_specs, gen_specs, persis_info):
if persis_info['next_to_give'] < len(H):

# Give sim work if possible
sim_work(Work, i, sim_specs['in'], [persis_info['next_to_give']])
sim_work(Work, i, sim_specs['in'], [persis_info['next_to_give']], [])
persis_info['next_to_give'] += 1

elif gen_count < gen_specs.get('num_active_gens', gen_count+1):

# Give gen work
persis_info['total_gen_calls'] += 1
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[i], [])
gen_work(Work, i, gen_specs['in'], [], persis_info[i])

return Work, persis_info
4 changes: 2 additions & 2 deletions libensemble/alloc_funcs/fast_alloc_to_aposmm.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def give_sim_work_first(W, H, sim_specs, gen_specs, persis_info):
# Find indices of H that are not yet allocated
if persis_info['next_to_give'] < len(H):
# Give sim work if possible
sim_work(Work, i, sim_specs['in'], [persis_info['next_to_give']])
sim_work(Work, i, sim_specs['in'], [persis_info['next_to_give']], [])
persis_info['next_to_give'] += 1

elif gen_count < gen_specs.get('num_active_gens', gen_count+1):
Expand All @@ -54,7 +54,7 @@ def give_sim_work_first(W, H, sim_specs, gen_specs, persis_info):
# Give gen work
persis_info['total_gen_calls'] += 1
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[lw], range(len(H)))
gen_work(Work, i, gen_specs['in'], range(len(H)), persis_info[lw])

persis_info['last_worker'] = i

Expand Down
4 changes: 2 additions & 2 deletions libensemble/alloc_funcs/give_sim_work_first.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def give_sim_work_first(W, H, sim_specs, gen_specs, persis_info):
break

# Assign resources and mark tasks as allocated to workers
sim_work(Work, i, sim_specs['in'], sim_ids_to_send)
sim_work(Work, i, sim_specs['in'], sim_ids_to_send, persis_info[i])
H['allocated'][sim_ids_to_send] = True

# Update resource records
Expand All @@ -81,6 +81,6 @@ def give_sim_work_first(W, H, sim_specs, gen_specs, persis_info):

# Give gen work
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[i], range(len(H)))
gen_work(Work, i, gen_specs['in'], range(len(H)), persis_info[i])

return Work, persis_info
10 changes: 5 additions & 5 deletions libensemble/alloc_funcs/inverse_bayes_allocf.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ def only_persistent_gens_for_inverse_bayes(W, H, sim_specs, gen_specs, persis_in
k = H['batch'][-1]
H['weight'][(n*(k-1)):(n*k)] = H['weight'][(n*k):(n*(k+1))]

gen_work(Work, i, ['like'], persis_info[i],
np.atleast_1d(inds_to_send_back), persistent=True)
gen_work(Work, i, ['like'], np.atleast_1d(inds_to_send_back),
persis_info[i], persistent=True)

task_avail = ~H['given']
for i in avail_worker_ids(W, persistent=False):
Expand All @@ -52,14 +52,14 @@ def only_persistent_gens_for_inverse_bayes(W, H, sim_specs, gen_specs, persis_in
sim_subbatches = H['subbatch'][task_avail]
sim_inds = (sim_subbatches == np.min(sim_subbatches))
sim_ids_to_send = np.nonzero(task_avail)[0][sim_inds]
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send))
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send), [])
task_avail[sim_ids_to_send] = False

elif gen_count == 0:

# Finally, generate points since there is nothing else to do.
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[i],
[], persistent=True)
gen_work(Work, i, gen_specs['in'], [], persis_info[i],
persistent=True)

return Work, persis_info
8 changes: 4 additions & 4 deletions libensemble/alloc_funcs/start_only_persistent.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@ def only_persistent_gens(W, H, sim_specs, gen_specs, persis_info):
last_ind = np.nonzero(gen_inds)[0][last_time_pos]
gen_work(Work, i,
sim_specs['in'] + [n[0] for n in sim_specs['out']],
persis_info[i], np.atleast_1d(last_ind), persistent=True)
np.atleast_1d(last_ind), persis_info[i], persistent=True)

task_avail = ~H['given']
for i in avail_worker_ids(W, persistent=False):
if np.any(task_avail):

# perform sim evaluations from existing runs (if they exist).
sim_ids_to_send = np.nonzero(task_avail)[0][0] # oldest point
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send))
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send), [])
task_avail[sim_ids_to_send] = False

elif gen_count == 0:
# Finally, generate points since there is nothing else to do.
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[i],
[], persistent=True)
gen_work(Work, i, gen_specs['in'], [], persis_info[i],
persistent=True)

return Work, persis_info
8 changes: 4 additions & 4 deletions libensemble/alloc_funcs/start_persistent_local_opt_gens.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def start_persistent_local_opt_gens(W, H, sim_specs, gen_specs, persis_info):
last_ind = np.nonzero(gen_inds)[0][last_time_pos]
gen_work(Work, i,
sim_specs['in'] + [n[0] for n in sim_specs['out']],
persis_info[i], np.atleast_1d(last_ind), persistent=True)
np.atleast_1d(last_ind), persis_info[i], persistent=True)
persis_info[i]['run_order'].append(last_ind)

for i in avail_worker_ids(W, persistent=False):
Expand All @@ -70,7 +70,7 @@ def start_persistent_local_opt_gens(W, H, sim_specs, gen_specs, persis_info):
ind = starting_inds[np.argmin(H['f'][starting_inds])]
gen_work(Work, i,
sim_specs['in'] + [n[0] for n in sim_specs['out']],
persis_info[i], np.atleast_1d(ind), persistent=True)
np.atleast_1d(ind), persis_info[i], persistent=True)

H['started_run'][ind] = 1
H['num_active_runs'][ind] += 1
Expand All @@ -85,7 +85,7 @@ def start_persistent_local_opt_gens(W, H, sim_specs, gen_specs, persis_info):
if not np.any(q_inds_logical):
q_inds_logical = task_avail
sim_ids_to_send = np.nonzero(q_inds_logical)[0][0] # oldest point
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send))
sim_work(Work, i, sim_specs['in'], np.atleast_1d(sim_ids_to_send), [])
task_avail[sim_ids_to_send] = False

elif (gen_count == 0
Expand All @@ -94,6 +94,6 @@ def start_persistent_local_opt_gens(W, H, sim_specs, gen_specs, persis_info):

# Finally, generate points since there is nothing else to do
gen_count += 1
gen_work(Work, i, gen_specs['in'], persis_info[i], [])
gen_work(Work, i, gen_specs['in'], [], persis_info[i])

return Work, persis_info

0 comments on commit ad6efbe

Please sign in to comment.