|
geopm 3.2.1.dev237+gbe30cff60
GEOPM - Global Extensible Open Power Manager
|
Detect maximum achievable frequency limits of CPU cores. More...
#include <FrequencyLimitDetector.hpp>

Public Member Functions | |
| FrequencyLimitDetector ()=default | |
| virtual | ~FrequencyLimitDetector ()=default |
| virtual void | update_max_frequency_estimates (const std::vector< double > &observed_core_frequencies)=0 |
| Update the estimates for maximum achievable core frequencies. | |
| virtual std::vector< std::pair< unsigned int, double > > | get_core_frequency_limits (unsigned int core_idx) const =0 |
| Estimate the maximum achievable frequencies of a given core. | |
| virtual double | get_core_low_priority_frequency (unsigned int core_idx) const =0 |
| Estimate the low priority frequency of a given core. | |
Static Public Member Functions | |
| static std::unique_ptr< FrequencyLimitDetector > | make_unique (PlatformIO &platform_io, const PlatformTopo &platform_topo) |
| static std::shared_ptr< FrequencyLimitDetector > | make_shared (PlatformIO &platform_io, const PlatformTopo &platform_topo) |
Detect maximum achievable frequency limits of CPU cores.
Estimates the maximum freuqency that each core can achieve if it is given a sufficiently high frequency cap. Estimates are based on recent behavior of the target core and other cores in the same CPU package.
|
default |
|
virtualdefault |
|
pure virtual |
Estimate the maximum achievable frequencies of a given core.
| [in] | core_idx | GEOPM topology index of the core to query. |
Implemented in geopm::SSTFrequencyLimitDetector, and geopm::TRLFrequencyLimitDetector.
|
pure virtual |
Estimate the low priority frequency of a given core.
Implemented in geopm::SSTFrequencyLimitDetector, and geopm::TRLFrequencyLimitDetector.
|
static |
|
static |
|
pure virtual |
Update the estimates for maximum achievable core frequencies.
Caches the estimates to be queried by other functions in this interface.
| observed_core_frequencies | The measured frequency for each core across a region of interest (e.g., epoch to epoch, across GEOPM regions, etc). |
Implemented in geopm::SSTFrequencyLimitDetector, and geopm::TRLFrequencyLimitDetector.