6 #ifndef FREQUENCYLIMITDETECTOR_HPP_INCLUDE
7 #define FREQUENCYLIMITDETECTOR_HPP_INCLUDE
36 const std::vector<double> &observed_core_frequencies) = 0;
45 unsigned int core_idx)
const = 0;
49 unsigned int core_idx)
const = 0;
51 static std::unique_ptr<FrequencyLimitDetector>
make_unique(
52 PlatformIO &platform_io,
const PlatformTopo &platform_topo);
54 static std::shared_ptr<FrequencyLimitDetector>
make_shared(
55 PlatformIO &platform_io,
const PlatformTopo &platform_topo);
Detect maximum achievable frequency limits of CPU cores.
Definition: FrequencyLimitDetector.hpp:24
static std::unique_ptr< FrequencyLimitDetector > make_unique(PlatformIO &platform_io, const PlatformTopo &platform_topo)
Definition: FrequencyLimitDetector.cpp:35
FrequencyLimitDetector()=default
virtual ~FrequencyLimitDetector()=default
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 void update_max_frequency_estimates(const std::vector< double > &observed_core_frequencies)=0
Update the estimates for maximum achievable core frequencies.
virtual double get_core_low_priority_frequency(unsigned int core_idx) const =0
Estimate the low priority frequency of a given core.
static std::shared_ptr< FrequencyLimitDetector > make_shared(PlatformIO &platform_io, const PlatformTopo &platform_topo)
Definition: FrequencyLimitDetector.cpp:47
Definition: Accumulator.cpp:12