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

IOGroup that provides signals from the application. More...

#include <ProfileIOGroup.hpp>

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

Public Member Functions

 ProfileIOGroup ()
 
 ProfileIOGroup (const PlatformTopo &topo, ApplicationSampler &application_sampler)
 
virtual ~ProfileIOGroup ()
 
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 signal_idx) override
 
void adjust (int control_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::function< std::string(double)> format_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 connect (void)
 Connect to the application via shared memory. More...
 

Static Public Member Functions

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

Detailed Description

IOGroup that provides signals from the application.

Constructor & Destructor Documentation

◆ ProfileIOGroup() [1/2]

geopm::ProfileIOGroup::ProfileIOGroup ( )

◆ ProfileIOGroup() [2/2]

geopm::ProfileIOGroup::ProfileIOGroup ( const PlatformTopo &  topo,
ApplicationSampler application_sampler 
)

◆ ~ProfileIOGroup()

geopm::ProfileIOGroup::~ProfileIOGroup ( )
virtual

Member Function Documentation

◆ adjust()

void geopm::ProfileIOGroup::adjust ( int  control_idx,
double  setting 
)
override

◆ agg_function()

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

◆ connect()

void geopm::ProfileIOGroup::connect ( void  )

Connect to the application via shared memory.

◆ control_description()

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

◆ control_domain_type()

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

◆ control_names()

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

◆ format_function()

std::function< std::string(double)> geopm::ProfileIOGroup::format_function ( const std::string &  signal_name) const
override

◆ is_valid_control()

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

◆ is_valid_signal()

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

◆ make_plugin()

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

◆ name()

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

◆ plugin_name()

std::string geopm::ProfileIOGroup::plugin_name ( void  )
static
Returns
GEOPM_PROFILE_IO_GROUP_PLUGIN_NAME, which expands to "PROFILE".

◆ push_control()

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

◆ push_signal()

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

◆ read_batch()

void geopm::ProfileIOGroup::read_batch ( void  )
override

◆ read_signal()

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

◆ restore_control() [1/2]

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

◆ restore_control() [2/2]

void geopm::ProfileIOGroup::restore_control ( void  )
override

◆ sample()

double geopm::ProfileIOGroup::sample ( int  signal_idx)
override

◆ save_control() [1/2]

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

◆ save_control() [2/2]

void geopm::ProfileIOGroup::save_control ( void  )
override

◆ signal_behavior()

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

◆ signal_description()

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

◆ signal_domain_type()

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

◆ signal_names()

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

◆ write_batch()

void geopm::ProfileIOGroup::write_batch ( void  )
override

◆ write_control()

void geopm::ProfileIOGroup::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: