geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Classes | Public Member Functions | Friends | List of all members
geopm::PowerBalancerAgent::LeafRole Class Reference

#include <PowerBalancerAgent.hpp>

Inheritance diagram for geopm::PowerBalancerAgent::LeafRole:
Inheritance graph
[legend]
Collaboration diagram for geopm::PowerBalancerAgent::LeafRole:
Collaboration graph
[legend]

Public Member Functions

 LeafRole (PlatformIO &platform_io, const PlatformTopo &platform_topo, std::shared_ptr< SampleAggregator > sample_agg, std::vector< std::shared_ptr< PowerBalancer > > power_balancer, double min_power, double max_power, double time_window, bool is_single_node, int num_node)
 
virtual ~LeafRole ()=default
 
bool adjust_platform (const std::vector< double > &in_policy) override
 
bool sample_platform (std::vector< double > &out_sample) override
 
void trace_values (std::vector< double > &values) override
 
- Public Member Functions inherited from geopm::PowerBalancerAgent::Role
virtual bool descend (const std::vector< double > &in_policy, std::vector< std::vector< double > > &out_policy)
 
virtual bool ascend (const std::vector< std::vector< double > > &in_sample, std::vector< double > &out_sample)
 

Friends

class SendDownLimitStep
 
class MeasureRuntimeStep
 
class ReduceLimitStep
 

Additional Inherited Members

- Public Attributes inherited from geopm::PowerBalancerAgent::Role
std::vector< double > m_policy
 
const int M_NUM_NODE
 
- Protected Member Functions inherited from geopm::PowerBalancerAgent::Role
int step (size_t step_count) const
 
int step (void) const
 
const Stepstep_imp ()
 
 Role (int num_node)
 
virtual ~Role ()=default
 
- Protected Attributes inherited from geopm::PowerBalancerAgent::Role
const std::vector< std::shared_ptr< const Step > > M_STEP_IMP
 
int m_step_count
 

Constructor & Destructor Documentation

◆ LeafRole()

geopm::PowerBalancerAgent::LeafRole::LeafRole ( PlatformIO &  platform_io,
const PlatformTopo &  platform_topo,
std::shared_ptr< SampleAggregator sample_agg,
std::vector< std::shared_ptr< PowerBalancer > >  power_balancer,
double  min_power,
double  max_power,
double  time_window,
bool  is_single_node,
int  num_node 
)

◆ ~LeafRole()

virtual geopm::PowerBalancerAgent::LeafRole::~LeafRole ( )
virtualdefault

Member Function Documentation

◆ adjust_platform()

bool geopm::PowerBalancerAgent::LeafRole::adjust_platform ( const std::vector< double > &  in_policy)
overridevirtual

Leaf role classes must implement this method, tree roles do not.

Reimplemented from geopm::PowerBalancerAgent::Role.

◆ sample_platform()

bool geopm::PowerBalancerAgent::LeafRole::sample_platform ( std::vector< double > &  out_sample)
overridevirtual

Leaf role classes must implement this method, tree roles do not.

Reimplemented from geopm::PowerBalancerAgent::Role.

◆ trace_values()

void geopm::PowerBalancerAgent::LeafRole::trace_values ( std::vector< double > &  values)
overridevirtual

Leaf role classes must implement this method, tree roles do not.

Reimplemented from geopm::PowerBalancerAgent::Role.

Friends And Related Function Documentation

◆ MeasureRuntimeStep

friend class MeasureRuntimeStep
friend

◆ ReduceLimitStep

friend class ReduceLimitStep
friend

◆ SendDownLimitStep

friend class SendDownLimitStep
friend

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