Commit d1aa5d3e authored by kevinmenear's avatar kevinmenear
Browse files

Return single power value per job from update_power_state

parent 94c84694
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -116,12 +116,14 @@ class Engine:
        if len(scheduled_nodes) > 0:
            self.flops_manager.update_flop_state(scheduled_nodes, cpu_utils, gpu_utils)
            jobs_power = self.power_manager.update_power_state(scheduled_nodes, cpu_utils, gpu_utils, net_utils)
            job_index = 0
            for job in self.running:
                if job.state == JobState.RUNNING:
            
            _running_jobs = [job for job in self.running if job.state == JobState.RUNNING]
            if len(jobs_power) != len(_running_jobs):
                raise ValueError(f"Jobs power list of length ({len(jobs_power)}) should have ({len(running_jobs)}) items.")
            for i, job in enumerate(_running_jobs):
                if job.running_time % self.config['TRACE_QUANTA'] == 0:
                        job.power_history.append(jobs_power[job_index] * len(job.scheduled_nodes))
                    job_index += len(job.scheduled_nodes)
                    job.power_history.append(jobs_power[i] * len(job.scheduled_nodes))
            del _running_jobs

        for job in completed_jobs:
            self.running.remove(job)
+1 −1
Original line number Diff line number Diff line
@@ -278,7 +278,7 @@ class PowerManager:
        power_value, sivoc_loss = self.power_func(cpu_util_flat, gpu_util_flat, net_util_flat, self.config)
        self.power_state[node_indices] = power_value
        self.sivoc_loss[node_indices] = sivoc_loss
        return power_value
        return power_value[np.cumsum(job_lengths) - 1]
    

    def calculate_rectifiers_needed(self, power_state_summed):