1 
2 // =================================================================================================
3 // This file is part of the CLTune project, which loosely follows the Google C++ styleguide and uses
4 // a tab-size of two spaces and a max-width of 100 characters per line.
5 //
6 // Author: cedric.nugteren@surfsara.nl (Cedric Nugteren)
7 //
8 // This file implements a full-search algorithm, testing all configurations exhaustively. It is
9 // derived from the basic search class Searcher.
10 //
11 // -------------------------------------------------------------------------------------------------
12 //
13 // Copyright 2014 SURFsara
14 //
15 // Licensed under the Apache License, Version 2.0 (the "License");
16 // you may not use this file except in compliance with the License.
17 // You may obtain a copy of the License at
18 //
19 //  http://www.apache.org/licenses/LICENSE-2.0
20 //
21 // Unless required by applicable law or agreed to in writing, software
22 // distributed under the License is distributed on an "AS IS" BASIS,
23 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24 // See the License for the specific language governing permissions and
25 // limitations under the License.
26 //
27 // =================================================================================================
28 
29 #ifndef CLTUNE_SEARCHERS_FULL_SEARCH_H_
30 #define CLTUNE_SEARCHERS_FULL_SEARCH_H_
31 
32 #include <vector>
33 
34 #include "internal/searcher.h"
35 
36 namespace cltune {
37 // =================================================================================================
38 
39 // See comment at top of file for a description of the class
40 class FullSearch: public Searcher {
41  public:
42   FullSearch(const Configurations &configurations);
~FullSearch()43   ~FullSearch() {}
44 
45   // Retrieves the next configuration to test
46   virtual KernelInfo::Configuration GetConfiguration() override;
47 
48   // Calculates the next index
49   virtual void CalculateNextIndex() override;
50 
51   // Retrieves the total number of configurations to try
52   virtual size_t NumConfigurations() override;
53 
54  private:
55 };
56 
57 // =================================================================================================
58 } // namespace cltune
59 
60 // CLTUNE_SEARCHERS_FULL_SEARCH_H_
61 #endif
62