geopm::EnergyEfficientAgent(3) -- agent for saving energy

NAMESPACES

The EnergyEfficientAgent class is a member of the namespace geopm, but the full name, geopm::EnergyEfficientAgent, has been abbreviated in this manual. Similarly, the std:: namespace specifier has been omitted from the interface definitions for the following standard types: std::vector, std::string, and std::set, to enable better rendering of this manual.

Note that the EnergyEfficientAgent class is derived from geopm::Agent(3) class.

SYNOPSIS

#include <geopm/EnergyEfficientAgent.hpp>

Link with -lgeopm (MPI) or -lgeopmpolicy (non-MPI)

void EnergyEfficientAgent::init(int level, const vector<int> &fan_in, bool is_level_root) override;

void EnergyEfficientAgent::validate_policy(vector<double> &policy) const override;

void EnergyEfficientAgent::split_policy(const vector<double> &in_policy,
                                        vector<vector<double> > &out_policy) override;

bool EnergyEfficientAgent::do_send_policy(void) const override;

void EnergyEfficientAgent::aggregate_sample(const vector<vector<double> > &in_sample,
                                            vector<double> &out_sample) override;

bool EnergyEfficientAgent::do_send_sample(void) const override;

void EnergyEfficientAgent::adjust_platform(const vector<double> &in_policy) override;

bool EnergyEfficientAgent::do_write_batch(void) const override;

void EnergyEfficientAgent::sample_platform(vector<double> &out_sample) override;

void EnergyEfficientAgent::wait(void) override;

vector<pair<string, string> > EnergyEfficientAgent::report_header(void) const override;

vector<pair<string, string> > EnergyEfficientAgent::report_host(void) const override;

map<uint64_t, vector<pair<string, string> > > EnergyEfficientAgent::report_region(void) const override;

vector<string> EnergyEfficientAgent::trace_names(void) const override;

vector<function<string(double)> > EnergyEfficientAgent::trace_formats(void) const override;

void EnergyEfficientAgent::trace_values(vector<double> &values) override;

void EnergyEfficientAgent::enforce_policy(const vector<double> &policy) const override;

static string EnergyEfficientAgent::plugin_name(void);

static unique_ptr<Agent> EnergyEfficientAgent::make_plugin(void);

static vector<string> EnergyEfficientAgent::policy_names(void);

static vector<string> EnergyEfficientAgent::sample_names(void);

DESCRIPTION

The behavior of this agent is described in more detail in the geopm_agent_energy_efficient(7) man page. The core of the online algorithm is implemented in geopm::EnergyEfficientRegion(3).

For more details on the implementation, see the doxygen page at https://geopm.github.io/dox/classgeopm_1_1_energy_efficient_agent.html.

CLASS METHODS

TODO

SEE ALSO

geopm(7), geopm_agent_energy_efficient(7), geopm::Agent(3), geopm::EnergyEfficientRegion(3)