geopm 3.1.1.dev410+g40bf96ed
GEOPM - Global Extensible Open Power Manager
Loading...
Searching...
No Matches
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.
 
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.
 

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: