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

#include <PowerBalancerAgent.hpp>

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

Public Member Functions

 TreeRole (int level, const std::vector< int > &fan_in)
 
virtual ~TreeRole ()=default
 
virtual bool descend (const std::vector< double > &in_policy, std::vector< std::vector< double > > &out_policy) override
 
virtual bool ascend (const std::vector< std::vector< double > > &in_sample, std::vector< double > &out_sample) override
 
- Public Member Functions inherited from geopm::PowerBalancerAgent::Role
virtual bool adjust_platform (const std::vector< double > &in_policy)
 
virtual bool sample_platform (std::vector< double > &out_sample)
 
virtual void trace_values (std::vector< double > &values)
 

Protected Attributes

const std::vector< std::function< double(const std::vector< double > &)> > M_AGG_FUNC
 
const int M_NUM_CHILDREN
 
bool m_is_step_complete
 
- Protected Attributes inherited from geopm::PowerBalancerAgent::Role
const std::vector< std::shared_ptr< const Step > > M_STEP_IMP
 
int m_step_count
 

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
 

Constructor & Destructor Documentation

◆ TreeRole()

geopm::PowerBalancerAgent::TreeRole::TreeRole ( int  level,
const std::vector< int > &  fan_in 
)

◆ ~TreeRole()

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

Member Function Documentation

◆ ascend()

bool geopm::PowerBalancerAgent::TreeRole::ascend ( const std::vector< std::vector< double > > &  in_sample,
std::vector< double > &  out_sample 
)
overridevirtual

Tree role classes must implement this method, leaf roles do not.

Reimplemented from geopm::PowerBalancerAgent::Role.

Reimplemented in geopm::PowerBalancerAgent::RootRole.

◆ descend()

bool geopm::PowerBalancerAgent::TreeRole::descend ( const std::vector< double > &  in_policy,
std::vector< std::vector< double > > &  out_policy 
)
overridevirtual

Tree role classes must implement this method, leaf roles do not.

Reimplemented from geopm::PowerBalancerAgent::Role.

Reimplemented in geopm::PowerBalancerAgent::RootRole.

Friends And Related Function Documentation

◆ MeasureRuntimeStep

friend class MeasureRuntimeStep
friend

◆ ReduceLimitStep

friend class ReduceLimitStep
friend

◆ SendDownLimitStep

friend class SendDownLimitStep
friend

Member Data Documentation

◆ M_AGG_FUNC

const std::vector<std::function<double(const std::vector<double>&)> > geopm::PowerBalancerAgent::TreeRole::M_AGG_FUNC
protected

◆ m_is_step_complete

bool geopm::PowerBalancerAgent::TreeRole::m_is_step_complete
protected

◆ M_NUM_CHILDREN

const int geopm::PowerBalancerAgent::TreeRole::M_NUM_CHILDREN
protected

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