6 #ifndef SSTCLOSGOVERNOR_HPP_INCLUDE
7 #define SSTCLOSGOVERNOR_HPP_INCLUDE
67 static std::unique_ptr<SSTClosGovernor>
make_unique(
void);
68 static std::shared_ptr<SSTClosGovernor>
make_shared(
void);
Govern class of service (CLOS) controls.
Definition: SSTClosGovernor.hpp:21
static bool is_supported(PlatformIO &platform_io)
Definition: SSTClosGovernor.cpp:55
static std::shared_ptr< SSTClosGovernor > make_shared(void)
Definition: SSTClosGovernor.cpp:29
virtual void disable_sst_turbo_prioritization()=0
virtual bool do_write_batch(void) const =0
Returns true if the last call to adjust_platform requires writing controls.
virtual ~SSTClosGovernor()=default
SSTClosGovernor()=default
virtual void enable_sst_turbo_prioritization()=0
virtual void adjust_platform(const std::vector< double > &clos_by_core)=0
Write CLOS controls.
ClosLevel_e
Definition: SSTClosGovernor.hpp:23
@ MEDIUM_HIGH_PRIORITY
Definition: SSTClosGovernor.hpp:25
@ HIGH_PRIORITY
Definition: SSTClosGovernor.hpp:24
@ MEDIUM_LOW_PRIORITY
Definition: SSTClosGovernor.hpp:26
@ LOW_PRIORITY
Definition: SSTClosGovernor.hpp:27
virtual void init_platform_io(void)=0
Registers signals and controls with PlatformIO using the default control domain.
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 inform...
static std::unique_ptr< SSTClosGovernor > make_unique(void)
Definition: SSTClosGovernor.cpp:24
Definition: Accumulator.cpp:12