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

#include <SSTClosGovernorImp.hpp>

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

Public Member Functions

 SSTClosGovernorImp ()
 
 SSTClosGovernorImp (PlatformIO &platform_io, const PlatformTopo &platform_topo)
 
virtual ~SSTClosGovernorImp ()=default
 
void init_platform_io (void) override
 Registers signals and controls with PlatformIO using the default control domain. More...
 
int clos_domain_type (void) const override
 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...
 
void adjust_platform (const std::vector< double > &clos_by_core) override
 Write CLOS controls. More...
 
bool do_write_batch (void) const override
 Returns true if the last call to adjust_platform requires writing controls. More...
 
void enable_sst_turbo_prioritization () override
 
void disable_sst_turbo_prioritization () override
 
- Public Member Functions inherited from geopm::SSTClosGovernor
 SSTClosGovernor ()=default
 
virtual ~SSTClosGovernor ()=default
 

Additional Inherited Members

- Public Types inherited from geopm::SSTClosGovernor
enum  ClosLevel_e { HIGH_PRIORITY = 0 , MEDIUM_HIGH_PRIORITY = 1 , MEDIUM_LOW_PRIORITY = 2 , LOW_PRIORITY = 3 }
 
- Static Public Member Functions inherited from geopm::SSTClosGovernor
static bool is_supported (PlatformIO &platform_io)
 
static std::unique_ptr< SSTClosGovernormake_unique (void)
 
static std::shared_ptr< SSTClosGovernormake_shared (void)
 

Constructor & Destructor Documentation

◆ SSTClosGovernorImp() [1/2]

geopm::SSTClosGovernorImp::SSTClosGovernorImp ( )

◆ SSTClosGovernorImp() [2/2]

geopm::SSTClosGovernorImp::SSTClosGovernorImp ( PlatformIO &  platform_io,
const PlatformTopo &  platform_topo 
)

◆ ~SSTClosGovernorImp()

virtual geopm::SSTClosGovernorImp::~SSTClosGovernorImp ( )
virtualdefault

Member Function Documentation

◆ adjust_platform()

void geopm::SSTClosGovernorImp::adjust_platform ( const std::vector< double > &  clos_by_core)
overridevirtual

Write CLOS controls.

Parameters
[in]clos_by_coreDesired per-core CLOS.

Implements geopm::SSTClosGovernor.

◆ clos_domain_type()

int geopm::SSTClosGovernorImp::clos_domain_type ( void  ) const
overridevirtual

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().

Returns
The domain with which CLOS will be governed.

Implements geopm::SSTClosGovernor.

◆ disable_sst_turbo_prioritization()

void geopm::SSTClosGovernorImp::disable_sst_turbo_prioritization ( )
overridevirtual

Disable prioritized turbo frequency and core priority features. This is a no-op if those features are not supported on the platform.

Implements geopm::SSTClosGovernor.

◆ do_write_batch()

bool geopm::SSTClosGovernorImp::do_write_batch ( void  ) const
overridevirtual

Returns true if the last call to adjust_platform requires writing controls.

Returns
True if platform adjustments have been made, false otherwise.

Implements geopm::SSTClosGovernor.

◆ enable_sst_turbo_prioritization()

void geopm::SSTClosGovernorImp::enable_sst_turbo_prioritization ( )
overridevirtual

Enable prioritized turbo frequency and core priority features. This is a no-op if those features are not supported on the platform.

Implements geopm::SSTClosGovernor.

◆ init_platform_io()

void geopm::SSTClosGovernorImp::init_platform_io ( void  )
overridevirtual

Registers signals and controls with PlatformIO using the default control domain.

Implements geopm::SSTClosGovernor.


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