Class representing the choices of possible tuning strategies for the auto-tuner. More...
#include <TuningStrategyOption.h>
Public Types | |
enum | Value { tuningStrategyLogger , randomSearch , fullSearch , bayesianSearch , bayesianClusterSearch , activeHarmony , predictiveTuning , ruleBasedTuning , fuzzyTuning , slowConfigFilter , mpiDivideAndConquer , sortByName } |
Possible choices for the auto tuner. More... | |
Public Member Functions | |
TuningStrategyOption ()=default | |
Constructor. | |
constexpr | TuningStrategyOption (Value option) |
Constructor from value. | |
constexpr | operator Value () const |
Cast to value. | |
![]() | |
operator bool ()=delete | |
Prevents cast to bool by deleting the conversion operator. | |
std::string | to_string (bool fixedLength=false) const |
Converts an Option object to its respective string representation. | |
Static Public Member Functions | |
static std::set< TuningStrategyOption > | getDiscouragedOptions () |
Set of options that are very unlikely to be interesting. | |
static std::map< TuningStrategyOption, std::string > | getOptionNames () |
Provides a way to iterate over the possible choices of TuningStrategy. | |
![]() | |
static std::set< TuningStrategyOption > | getAllOptions () |
Provides a way to iterate over the possible options. | |
static std::set< TuningStrategyOption > | getMostOptions () |
Provides a way to iterate over the possible options minus those that are very unlikely to be on interest. | |
static size_t | maxStringLength () |
Returns the number of characters in the string representation of the longest option. | |
static OutputContainer | parseOptions (const std::string &optionsString) |
Converts a string of options to a set of enums. | |
static TuningStrategyOption | parseOptionExact (const std::string &optionString) |
Converts a string to an enum. | |
Class representing the choices of possible tuning strategies for the auto-tuner.
Possible choices for the auto tuner.
Enumerator | |
---|---|
tuningStrategyLogger | Logger for Tuning Strategy activity. |
randomSearch | Random test configurations and select the best. |
fullSearch | Tests all allowed configurations and select the best. Technically this is no tuning strategy anymore, but the option still exists for compatibility reasons. |
bayesianSearch | Predict the configuration which will yield the most information if tested next. |
bayesianClusterSearch | Predict the configuration which will yield the most information if tested next. Uses a Gaussian Process per allowed discrete tuple. |
activeHarmony | ActiveHarmony client / server system. |
predictiveTuning | Predicts performance of all configurations based on previous tuning phases, tests those which are in the optimum range, and selects the best. |
ruleBasedTuning | Applies predefined rules to dynamically exclude configurations from tuning that are expected to perform worse than others in the next tuning phase. |
fuzzyTuning | Uses a fuzzy logic system to predict the best configuration based on a set of fuzzy-rules. |
slowConfigFilter | Dynamic blacklist that throws out configurations that perform poorly. |
mpiDivideAndConquer | Spread the current configuration queue over all similar mpi ranks, thus parallelizing the search for the optimum. |
sortByName | Sort the queue by Name (=Configuration::operator<()) to minimize container conversion overhead. |
|
inlineconstexpr |
Constructor from value.
option |
|
inlinestatic |
Set of options that are very unlikely to be interesting.
|
inlinestatic |
Provides a way to iterate over the possible choices of TuningStrategy.
|
inlineconstexpr |
Cast to value.