AutoPas  3.0.0
Loading...
Searching...
No Matches
SearchSpaceGenerators.h
Go to the documentation of this file.
1
7#pragma once
8
16
18
27
31 ~OptionSpace() noexcept;
32
36 std::set<ContainerOption> containerOptions;
40 std::set<TraversalOption> traversalOptions;
41
45 std::set<VectorizationPatternOption> vecPatternOptions;
46
54 std::set<DataLayoutOption> dataLayoutOptions;
58 std::set<Newton3Option> newton3Options;
62 std::set<double> cellSizeFactors;
63};
64
78std::set<Configuration> cartesianProduct(const std::set<ContainerOption> &allowedContainerOptions,
79 const std::set<TraversalOption> &allowedTraversalOptions,
80 const std::set<LoadEstimatorOption> &allowedLoadEstimatorOptions,
81 const std::set<DataLayoutOption> &allowedDataLayoutOptions,
82 const std::set<Newton3Option> &allowedNewton3Options,
83 const NumberSet<double> *allowedCellSizeFactors,
84 const std::set<VectorizationPatternOption> &allowedVecPatternOptions,
85 const InteractionTypeOption &interactionType);
86
95OptionSpace inferOptionDimensions(const std::set<Configuration> &searchSet);
96
108std::set<double> calculateRelevantCsfs(const NumberInterval<double> &numberInterval, double interactionLength,
109 double domainLengthX);
110
111} // namespace autopas::SearchSpaceGenerators
Class containing multiple options that form an algorithm configuration for the pairwise iteration.
Definition: Configuration.h:26
Class representing the load estimator choices.
Definition: LoadEstimatorOption.h:18
Class describing an interval.
Definition: NumberInterval.h:15
Virtual class describing a finite or infinite set of numbers.
Definition: NumberSet.h:22
Generators for search spaces.
Definition: namespaces.h:102
std::set< double > calculateRelevantCsfs(const NumberInterval< double > &numberInterval, double interactionLength, double domainLengthX)
For a given domain parametrization, calculate which cell size factors (csf) in an interval actually a...
Definition: SearchSpaceGenerators.cpp:84
std::set< Configuration > cartesianProduct(const std::set< ContainerOption > &allowedContainerOptions, const std::set< TraversalOption > &allowedTraversalOptions, const std::set< LoadEstimatorOption > &allowedLoadEstimatorOptions, const std::set< DataLayoutOption > &allowedDataLayoutOptions, const std::set< Newton3Option > &allowedNewton3Options, const NumberSet< double > *allowedCellSizeFactors, const std::set< VectorizationPatternOption > &allowedVecPatternOptions, const InteractionTypeOption &interactionType)
Fills the search space with the cartesian product of the given options (minus invalid combinations).
Definition: SearchSpaceGenerators.cpp:18
OptionSpace inferOptionDimensions(const std::set< Configuration > &searchSet)
Crudely trying to reconstruct the dimensions of the search space from a given set of options.
Definition: SearchSpaceGenerators.cpp:69
Helper struct for all dimensions of a full cartesian product search space.
Definition: SearchSpaceGenerators.h:22
OptionSpace()
Constructor to suppress warnings about failed inlining.
std::set< DataLayoutOption > dataLayoutOptions
Available dataLayout options.
Definition: SearchSpaceGenerators.h:54
~OptionSpace() noexcept
Destructor to suppress warnings about failed inlining.
std::set< ContainerOption > containerOptions
Available container options.
Definition: SearchSpaceGenerators.h:36
std::set< VectorizationPatternOption > vecPatternOptions
Available Vectorization Pattern options.
Definition: SearchSpaceGenerators.h:45
std::set< double > cellSizeFactors
Available discrete cellSizeFactors options.
Definition: SearchSpaceGenerators.h:62
std::set< Newton3Option > newton3Options
Available newton3 options.
Definition: SearchSpaceGenerators.h:58
std::set< LoadEstimatorOption > loadEstimatorOptions
Available loadEstimator options.
Definition: SearchSpaceGenerators.h:50
std::set< TraversalOption > traversalOptions
Available traversal options.
Definition: SearchSpaceGenerators.h:40