geopm
3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
|
Govern class of service (CLOS) controls. More...
#include <SSTClosGovernor.hpp>
Public Types | |
enum | ClosLevel_e { HIGH_PRIORITY = 0 , MEDIUM_HIGH_PRIORITY = 1 , MEDIUM_LOW_PRIORITY = 2 , LOW_PRIORITY = 3 } |
Public Member Functions | |
SSTClosGovernor ()=default | |
virtual | ~SSTClosGovernor ()=default |
virtual void | init_platform_io (void)=0 |
Registers signals and controls with PlatformIO using the default control domain. More... | |
virtual int | clos_domain_type (void) const =0 |
Get the domain type of CLOS control on the platform. Users of the SSTClosGovernor can use this information to determine the size of the vector to pass to adjust_platform(). More... | |
virtual void | adjust_platform (const std::vector< double > &clos_by_core)=0 |
Write CLOS controls. More... | |
virtual bool | do_write_batch (void) const =0 |
Returns true if the last call to adjust_platform requires writing controls. More... | |
virtual void | enable_sst_turbo_prioritization ()=0 |
virtual void | disable_sst_turbo_prioritization ()=0 |
Static Public Member Functions | |
static bool | is_supported (PlatformIO &platform_io) |
static std::unique_ptr< SSTClosGovernor > | make_unique (void) |
static std::shared_ptr< SSTClosGovernor > | make_shared (void) |
Govern class of service (CLOS) controls.
|
default |
|
virtualdefault |
|
pure virtual |
Write CLOS controls.
[in] | clos_by_core | Desired per-core CLOS. |
Implemented in geopm::SSTClosGovernorImp.
|
pure virtual |
Get the domain type of CLOS control on the platform. Users of the SSTClosGovernor can use this information to determine the size of the vector to pass to adjust_platform().
Implemented in geopm::SSTClosGovernorImp.
|
pure virtual |
Disable prioritized turbo frequency and core priority features. This is a no-op if those features are not supported on the platform.
Implemented in geopm::SSTClosGovernorImp.
|
pure virtual |
Returns true if the last call to adjust_platform requires writing controls.
Implemented in geopm::SSTClosGovernorImp.
|
pure virtual |
Enable prioritized turbo frequency and core priority features. This is a no-op if those features are not supported on the platform.
Implemented in geopm::SSTClosGovernorImp.
|
pure virtual |
Registers signals and controls with PlatformIO using the default control domain.
Implemented in geopm::SSTClosGovernorImp.
|
static |
Indicate whether this platform supports core priority and prioritized turbo frequency limits.
|
static |
|
static |