in cluster-trace-gpu-v2020/simulator/cluster.py [0:0]
def get_capacity(self, time, num_spare_node=None):
"""
Only for display_capacity_pattern()
:param time: cluster.cur_time, cluster.num_spare_node
:return: [cur_gpus, cur_cpus]
"""
num_spare_node = self.num_spare_node if num_spare_node is None else num_spare_node
ratio = self.get_cap_ratio(time)
if num_spare_node is None:
return [int(ratio * self.num_gpus), int(ratio * self.num_cpus)]
else:
if not self.spare_node_id:
spare_node_id = list(range(num_spare_node))
else:
spare_node_id = self.spare_node_id
g, c = 0, 0
for node in self.node_list:
if node.id in spare_node_id:
g += node.num_gpus
c += node.num_cpus
else:
g += node.num_gpus - int((1 - ratio) * node.num_gpus)
c += node.num_cpus - int((1 - ratio) * node.num_cpus)
assert g >= 0 and c >= 0
return [g, c]