geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Public Member Functions | Static Public Member Functions | List of all members
geopm::FrequencyTimeBalancerImp Class Reference
Inheritance diagram for geopm::FrequencyTimeBalancerImp:
Inheritance graph
[legend]
Collaboration diagram for geopm::FrequencyTimeBalancerImp:
Collaboration graph
[legend]

Public Member Functions

 FrequencyTimeBalancerImp ()=delete
 
 FrequencyTimeBalancerImp (double minimum_frequency, double maximum_frequency)
 
virtual ~FrequencyTimeBalancerImp ()=default
 
std::vector< double > balance_frequencies_by_time (const std::vector< double > &previous_times, const std::vector< double > &previous_control_frequencies, const std::vector< double > &previous_achieved_frequencies, const std::vector< std::pair< unsigned int, double > > &frequency_limits_by_high_priority_count, double low_priority_frequency) override
 Return the recommended frequency controls given observed times while operating under a given set of previous frequency controls. The returned vector is the same size as the input vectors. More...
 
double get_target_time () const override
 return the target time last used to balance the frequencies. More...
 
- Public Member Functions inherited from geopm::FrequencyTimeBalancer
 FrequencyTimeBalancer ()=default
 
virtual ~FrequencyTimeBalancer ()=default
 

Static Public Member Functions

static std::unique_ptr< FrequencyTimeBalancermake_unique (double minimum_frequency, double maximum_frequency)
 
static std::shared_ptr< FrequencyTimeBalancermake_shared (double minimum_frequency, double maximum_frequency)
 
- Static Public Member Functions inherited from geopm::FrequencyTimeBalancer
static std::unique_ptr< FrequencyTimeBalancermake_unique (double minimum_frequency, double maximum_frequency)
 Allocate a FrequencyTimeBalancer instance. More...
 
static std::shared_ptr< FrequencyTimeBalancermake_shared (double minimum_frequency, double maximum_frequency)
 Allocate a FrequencyTimeBalancer instance. More...
 

Constructor & Destructor Documentation

◆ FrequencyTimeBalancerImp() [1/2]

geopm::FrequencyTimeBalancerImp::FrequencyTimeBalancerImp ( )
delete

◆ FrequencyTimeBalancerImp() [2/2]

geopm::FrequencyTimeBalancerImp::FrequencyTimeBalancerImp ( double  minimum_frequency,
double  maximum_frequency 
)

◆ ~FrequencyTimeBalancerImp()

virtual geopm::FrequencyTimeBalancerImp::~FrequencyTimeBalancerImp ( )
virtualdefault

Member Function Documentation

◆ balance_frequencies_by_time()

std::vector< double > geopm::FrequencyTimeBalancerImp::balance_frequencies_by_time ( const std::vector< double > &  previous_times,
const std::vector< double > &  previous_control_frequencies,
const std::vector< double > &  previous_achieved_frequencies,
const std::vector< std::pair< unsigned int, double > > &  frequency_limits_by_high_priority_count,
double  low_priority_frequency 
)
overridevirtual

Return the recommended frequency controls given observed times while operating under a given set of previous frequency controls. The returned vector is the same size as the input vectors.

Parameters
previous_timesTime spent in the region to be balanced, measured by any domain.
previous_control_frequenciesFrequency control last applied over the region to be balanced, measured by the same domain as previous_times.
previous_achieved_frequenciesAverage observed frequencies over the region to be balanced, measured by the same domain as previous_times.

Implements geopm::FrequencyTimeBalancer.

◆ get_target_time()

double geopm::FrequencyTimeBalancerImp::get_target_time ( ) const
overridevirtual

return the target time last used to balance the frequencies.

Implements geopm::FrequencyTimeBalancer.

◆ make_shared()

static std::shared_ptr<FrequencyTimeBalancer> geopm::FrequencyTimeBalancerImp::make_shared ( double  minimum_frequency,
double  maximum_frequency 
)
static

◆ make_unique()

static std::unique_ptr<FrequencyTimeBalancer> geopm::FrequencyTimeBalancerImp::make_unique ( double  minimum_frequency,
double  maximum_frequency 
)
static

The documentation for this class was generated from the following file: