6 #ifndef POWERGOVERNOR_HPP_INCLUDE
7 #define POWERGOVERNOR_HPP_INCLUDE
11 #include "geopm_public.h"
34 virtual void adjust_platform(
double node_power_request,
double &node_power_actual) = 0;
45 static std::unique_ptr<PowerGovernor> make_unique(
void);
48 static std::shared_ptr<PowerGovernor> make_shared(
void);
Definition: PowerGovernor.hpp:16
virtual void init_platform_io(void)=0
Registsters signals and controls with PlatformIO.
virtual ~PowerGovernor()=default
virtual double power_package_time_window(void) const =0
Get the time window for controlling package power.
virtual void adjust_platform(double node_power_request, double &node_power_actual)=0
Calculates metric of DRAM power history, subtracting that value from the provided target node power.
virtual void sample_platform(void)=0
To be called inside of the Agent's sample_platform() method to read any values required when calling ...
virtual void set_power_bounds(double min_pkg_power, double max_pkg_power)=0
Sets min and max package bounds.
virtual bool do_write_batch(void) const =0
Definition: Accumulator.cpp:12