Skip to content

Commit

Permalink
make resources reflect develop?
Browse files Browse the repository at this point in the history
  • Loading branch information
jlnav committed Jan 18, 2024
1 parent ca14b7c commit cd6f0db
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion libensemble/resources/scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ def get_avail_rsets_by_group(self):
for g in groups:
self.avail_rsets_by_group[g] = []
for ind, rset in enumerate(rsets):
if rset["assigned"] == -1: # now default is -1.
if not rset["assigned"]:
g = rset["group"]
self.avail_rsets_by_group[g].append(ind)
return self.avail_rsets_by_group
Expand Down
13 changes: 9 additions & 4 deletions libensemble/resources/worker_resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,11 @@ def __init__(self, num_workers: int, resources: "GlobalResources") -> None: # n
)

self.rsets = np.zeros(self.total_num_rsets, dtype=ResourceManager.man_rset_dtype)
self.rsets["assigned"] = -1 # Can assign to manager (=0) so make unset value -1
self.rsets["assigned"] = 0
for field in self.all_rsets.dtype.names:
self.rsets[field] = self.all_rsets[field]
self.num_groups = self.rsets["group"][-1]

self.rsets_free = self.total_num_rsets
self.gpu_rsets_free = self.total_num_gpu_rsets
self.nongpu_rsets_free = self.total_num_nongpu_rsets
Expand All @@ -69,7 +70,7 @@ def assign_rsets(self, rset_team, worker_id):
if rset_team:
rteam = self.rsets["assigned"][rset_team]
for i, wid in enumerate(rteam):
if wid == -1:
if wid == 0:
self.rsets["assigned"][rset_team[i]] = worker_id
self.rsets_free -= 1
if self.rsets["gpus"][rset_team[i]]:
Expand All @@ -84,13 +85,13 @@ def assign_rsets(self, rset_team, worker_id):
def free_rsets(self, worker=None):
"""Free up assigned resource sets"""
if worker is None:
self.rsets["assigned"] = -1
self.rsets["assigned"] = 0
self.rsets_free = self.total_num_rsets
self.gpu_rsets_free = self.total_num_gpu_rsets
self.nongpu_rsets_free = self.total_num_nongpu_rsets
else:
rsets_to_free = np.where(self.rsets["assigned"] == worker)[0]
self.rsets["assigned"][rsets_to_free] = -1
self.rsets["assigned"][rsets_to_free] = 0
self.rsets_free += len(rsets_to_free)
self.gpu_rsets_free += np.count_nonzero(self.rsets["gpus"][rsets_to_free])
self.nongpu_rsets_free += np.count_nonzero(~self.rsets["gpus"][rsets_to_free])
Expand Down Expand Up @@ -199,6 +200,7 @@ def __init__(self, num_workers, resources, workerID):
self.gen_nprocs = None
self.gen_ngpus = None
self.platform_info = resources.platform_info
self.tiles_per_gpu = resources.tiles_per_gpu

# User convenience functions ----------------------------------------------

Expand All @@ -216,6 +218,9 @@ def get_slots_as_string(self, multiplier=1, delimiter=",", limit=None):
slot_list = [j for i in self.slots_on_node for j in range(i * n, (i + 1) * n)]
if limit is not None:
slot_list = slot_list[:limit]
if self.tiles_per_gpu > 1:
ntiles = self.tiles_per_gpu
slot_list = [f"{i // ntiles}.{i % ntiles}" for i in slot_list]
slots = delimiter.join(map(str, slot_list))
return slots

Expand Down

0 comments on commit cd6f0db

Please sign in to comment.