6 #ifndef POWERGOVERNORIMP_HPP_INCLUDE
7 #define POWERGOVERNORIMP_HPP_INCLUDE
23 PowerGovernorImp(PlatformIO &platform_io,
const PlatformTopo &platform_topo);
27 void adjust_platform(
double node_power_request,
double &node_power_actual)
override;
32 PlatformIO &m_platform_io;
33 const PlatformTopo &m_platform_topo;
34 const double M_CPU_POWER_TIME_WINDOW;
35 int m_pkg_pwr_domain_type;
37 const double M_MIN_PKG_POWER_SETTING;
38 const double M_MAX_PKG_POWER_SETTING;
39 double m_min_pkg_power_policy;
40 double m_max_pkg_power_policy;
41 std::vector<int> m_control_idx;
42 double m_last_pkg_power_setting;
43 bool m_do_write_batch;
Definition: PowerGovernor.hpp:16
Definition: PowerGovernorImp.hpp:20
void init_platform_io(void) override
Registsters signals and controls with PlatformIO.
Definition: PowerGovernor.cpp:60
virtual ~PowerGovernorImp()
Definition: PowerGovernor.cpp:55
void adjust_platform(double node_power_request, double &node_power_actual) override
Calculates metric of DRAM power history, subtracting that value from the provided target node power.
Definition: PowerGovernor.cpp:74
PowerGovernorImp()
Definition: PowerGovernor.cpp:33
bool do_write_batch(void) const override
Definition: PowerGovernor.cpp:102
void set_power_bounds(double min_pkg_power, double max_pkg_power) override
Sets min and max package bounds.
Definition: PowerGovernor.cpp:107
virtual void sample_platform(void) override
To be called inside of the Agent's sample_platform() method to read any values required when calling ...
Definition: PowerGovernor.cpp:69
double power_package_time_window(void) const override
Get the time window for controlling package power.
Definition: PowerGovernor.cpp:121
Definition: Accumulator.cpp:12