geopm  3.1.1.dev296+g5916b956
GEOPM - Global Extensible Open Power Manager
Classes | Public Member Functions | Static Public Member Functions | List of all members
geopm::DebugIOGroup Class Reference

IOGroup that Agents can use to expose internal values. More...

#include <DebugIOGroup.hpp>

Inheritance diagram for geopm::DebugIOGroup:
Inheritance graph
[legend]
Collaboration diagram for geopm::DebugIOGroup:
Collaboration graph
[legend]

Public Member Functions

 DebugIOGroup (const PlatformTopo &topo, std::shared_ptr< std::vector< double > > value_cache)
 Constructor; should be called in the Agent's constructor. value_cache is created and updated by the Agent, but the lifetime of the IOGroup may be longer than the Agent. More...
 
virtual ~DebugIOGroup ()=default
 
std::set< std::string > signal_names (void) const override
 
std::set< std::string > control_names (void) const override
 
bool is_valid_signal (const std::string &signal_name) const override
 
bool is_valid_control (const std::string &control_name) const override
 
int signal_domain_type (const std::string &signal_name) const override
 
int control_domain_type (const std::string &control_name) const override
 
int push_signal (const std::string &signal_name, int domain_type, int domain_idx) override
 
int push_control (const std::string &control_name, int domain_type, int domain_idx) override
 
void read_batch (void) override
 
void write_batch (void) override
 
double sample (int batch_idx) override
 
void adjust (int batch_idx, double setting) override
 
double read_signal (const std::string &signal_name, int domain_type, int domain_idx) override
 
void write_control (const std::string &control_name, int domain_type, int domain_idx, double setting) override
 
void save_control (void) override
 
void restore_control (void) override
 
std::function< double(const std::vector< double > &)> agg_function (const std::string &signal_name) const override
 
std::string signal_description (const std::string &signal_name) const override
 
std::string control_description (const std::string &control_name) const override
 
int signal_behavior (const std::string &signal_name) const override
 
void save_control (const std::string &save_path) override
 
void restore_control (const std::string &save_path) override
 
std::string name (void) const override
 
void register_signal (const std::string &name, int domain_type, int signal_behavior)
 Set up a signal name and base domain to map to one or more underlying values. One signal will be added for each index in the domain. More...
 

Static Public Member Functions

static std::string plugin_name (void)
 
static std::unique_ptr< IOGroup > make_plugin (void)
 

Detailed Description

IOGroup that Agents can use to expose internal values.

Constructor & Destructor Documentation

◆ DebugIOGroup()

geopm::DebugIOGroup::DebugIOGroup ( const PlatformTopo &  topo,
std::shared_ptr< std::vector< double > >  value_cache 
)

Constructor; should be called in the Agent's constructor. value_cache is created and updated by the Agent, but the lifetime of the IOGroup may be longer than the Agent.

◆ ~DebugIOGroup()

virtual geopm::DebugIOGroup::~DebugIOGroup ( )
virtualdefault

Member Function Documentation

◆ adjust()

void geopm::DebugIOGroup::adjust ( int  batch_idx,
double  setting 
)
override

◆ agg_function()

std::function< double(const std::vector< double > &)> geopm::DebugIOGroup::agg_function ( const std::string &  signal_name) const
override

◆ control_description()

std::string geopm::DebugIOGroup::control_description ( const std::string &  control_name) const
override

◆ control_domain_type()

int geopm::DebugIOGroup::control_domain_type ( const std::string &  control_name) const
override

◆ control_names()

std::set< std::string > geopm::DebugIOGroup::control_names ( void  ) const
override

◆ is_valid_control()

bool geopm::DebugIOGroup::is_valid_control ( const std::string &  control_name) const
override

◆ is_valid_signal()

bool geopm::DebugIOGroup::is_valid_signal ( const std::string &  signal_name) const
override

◆ make_plugin()

std::unique_ptr< IOGroup > geopm::DebugIOGroup::make_plugin ( void  )
static

◆ name()

std::string geopm::DebugIOGroup::name ( void  ) const
override

◆ plugin_name()

std::string geopm::DebugIOGroup::plugin_name ( void  )
static

◆ push_control()

int geopm::DebugIOGroup::push_control ( const std::string &  control_name,
int  domain_type,
int  domain_idx 
)
override

◆ push_signal()

int geopm::DebugIOGroup::push_signal ( const std::string &  signal_name,
int  domain_type,
int  domain_idx 
)
override

◆ read_batch()

void geopm::DebugIOGroup::read_batch ( void  )
override

◆ read_signal()

double geopm::DebugIOGroup::read_signal ( const std::string &  signal_name,
int  domain_type,
int  domain_idx 
)
override

◆ register_signal()

void geopm::DebugIOGroup::register_signal ( const std::string &  name,
int  domain_type,
int  signal_behavior 
)

Set up a signal name and base domain to map to one or more underlying values. One signal will be added for each index in the domain.

◆ restore_control() [1/2]

void geopm::DebugIOGroup::restore_control ( const std::string &  save_path)
override

◆ restore_control() [2/2]

void geopm::DebugIOGroup::restore_control ( void  )
override

◆ sample()

double geopm::DebugIOGroup::sample ( int  batch_idx)
override

◆ save_control() [1/2]

void geopm::DebugIOGroup::save_control ( const std::string &  save_path)
override

◆ save_control() [2/2]

void geopm::DebugIOGroup::save_control ( void  )
override

◆ signal_behavior()

int geopm::DebugIOGroup::signal_behavior ( const std::string &  signal_name) const
override

◆ signal_description()

std::string geopm::DebugIOGroup::signal_description ( const std::string &  signal_name) const
override

◆ signal_domain_type()

int geopm::DebugIOGroup::signal_domain_type ( const std::string &  signal_name) const
override

◆ signal_names()

std::set< std::string > geopm::DebugIOGroup::signal_names ( void  ) const
override

◆ write_batch()

void geopm::DebugIOGroup::write_batch ( void  )
override

◆ write_control()

void geopm::DebugIOGroup::write_control ( const std::string &  control_name,
int  domain_type,
int  domain_idx,
double  setting 
)
override

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