Kernel Tuning Toolkit 2.3
 
Loading...
Searching...
No Matches
Searcher.h
Go to the documentation of this file.
1
4#pragma once
5
6#include <cstdint>
7#include <set>
8#include <vector>
9
11#include <Api/Output/KernelResult.h>
12#include <KttPlatform.h>
13
14namespace ktt
15{
16
17class ConfigurationData;
18
22class KTT_API Searcher
23{
24public:
29 virtual ~Searcher() = default;
30
35 virtual void OnInitialize();
36
41 virtual void OnReset();
42
50 virtual bool CalculateNextConfiguration(const KernelResult& previousResult) = 0;
51
58
63
70 KernelConfiguration GetConfiguration(const uint64_t index) const;
71
77 uint64_t GetIndex(const KernelConfiguration& configuration) const;
78
84
95 std::vector<KernelConfiguration> GetNeighbourConfigurations(const KernelConfiguration& configuration,
96 const uint64_t maxDifferences, const size_t maxNeighbours = 3) const;
97
102 uint64_t GetConfigurationsCount() const;
103
110
115 const std::set<uint64_t>& GetExploredIndices() const;
116
121 bool IsInitialized() const;
122
127 void Initialize(const ConfigurationData& data);
128
132 void Reset();
133
134private:
135 const ConfigurationData* m_Data;
136};
137
138} // namespace ktt
Definition KernelConfiguration.h:19
Definition KernelResult.h:21
Definition Searcher.h:23
virtual void OnInitialize()
const std::set< uint64_t > & GetExploredIndices() const
KernelConfiguration GetRandomConfiguration() const
void Initialize(const ConfigurationData &data)
virtual ~Searcher()=default
std::vector< KernelConfiguration > GetNeighbourConfigurations(const KernelConfiguration &configuration, const uint64_t maxDifferences, const size_t maxNeighbours=3) const
bool IsInitialized() const
uint64_t GetUnexploredConfigurationsCount() const
virtual KernelConfiguration GetCurrentConfiguration() const =0
virtual void OnReset()
uint64_t GetConfigurationsCount() const
virtual bool CalculateNextConfiguration(const KernelResult &previousResult)=0
KernelConfiguration GetConfiguration(const uint64_t index) const
uint64_t GetIndex(const KernelConfiguration &configuration) const
Definition KttPlatform.h:41