This strategy spreads the configuration queue in a round robin fashion over all ranks (with similar domain). More...
#include <MPIParallelizedStrategy.h>


Public Member Functions | |
| MPIParallelizedStrategy (const Configuration &fallbackConfiguration, const AutoPas_MPI_Comm &comm, double mpiTuningMaxDifferenceForBucket, double mpiTuningWeightForMaxDensity) | |
| Constructor. | |
| TuningStrategyOption | getOptionType () const override |
| Get this object's associated TuningStrategyOption type. | |
| bool | optimizeSuggestions (std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection) override |
| Optimizes the queue of configurations to process. | |
| void | receiveDomainSimilarityStatistics (double pdBinStdDevDensity, double pdBinMaxDensity) override |
| Method to pass smoothed domain similarity statistics (particle-dependent bin standard deviation in density and max density) to the tuning strategy. | |
| bool | reset (size_t iteration, size_t tuningPhase, std::vector< Configuration > &configQueue, const autopas::EvidenceCollection &evidenceCollection) override |
| Reset all internal parameters to the beginning of a new tuning phase. | |
| bool | needsDomainSimilarityStatistics () const override |
| Indicate whether the strategy needs domain similarity statistics. | |
| void | rejectConfiguration (const Configuration &configuration, bool indefinitely) override |
| Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage. | |
| const AutoPas_MPI_Comm & | getBucket () const |
| Get the MPI communicator for this rank's bucket. | |
Public Member Functions inherited from autopas::TuningStrategyInterface | |
| virtual TuningStrategyOption | getOptionType () const =0 |
| Get this object's associated TuningStrategyOption type. | |
| virtual void | addEvidence (const Configuration &configuration, const Evidence &evidence) |
| Notifies the strategy about empirically collected information for the given configuration. | |
| virtual bool | optimizeSuggestions (std::vector< Configuration > &configQueue, const EvidenceCollection &evidenceCollection)=0 |
| Optimizes the queue of configurations to process. | |
| virtual bool | reset (size_t iteration, size_t tuningPhase, std::vector< Configuration > &configQueue, const autopas::EvidenceCollection &evidenceCollection)=0 |
| Reset all internal parameters to the beginning of a new tuning phase. | |
| virtual bool | needsLiveInfo () const |
| Returns whether this tuning strategy wants to get a LiveInfo object passed before a new tuning phase. | |
| virtual void | receiveLiveInfo (const LiveInfo &info) |
| Virtual method that subclasses can override to receive the LiveInfo object before a tuning phase if they return true in needsLiveInfo(). | |
| virtual void | rejectConfiguration (const Configuration &configuration, bool indefinitely) |
| Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage. | |
| virtual bool | needsDomainSimilarityStatistics () const |
| Indicate whether the strategy needs domain similarity statistics. | |
| virtual void | receiveDomainSimilarityStatistics (double pdBinStdDevDensity, double pdBinMaxDensity) |
| Method to pass smoothed domain similarity statistics (particle-dependent bin standard deviation in density and max density) to the tuning strategy. | |
Static Public Member Functions | |
| static Configuration | createFallBackConfiguration (const std::set< Configuration > &searchSpace, const InteractionTypeOption &interactionType) |
| Create a resilient configuration that should always be applicable. | |
This strategy spreads the configuration queue in a round robin fashion over all ranks (with similar domain).
The actual splitting of the search space and details of the communication logic is not currently handled by this class, but by AutoPasConfigurationCommunicator.
| autopas::MPIParallelizedStrategy::MPIParallelizedStrategy | ( | const Configuration & | fallbackConfiguration, |
| const AutoPas_MPI_Comm & | comm, | ||
| double | mpiTuningMaxDifferenceForBucket, | ||
| double | mpiTuningWeightForMaxDensity | ||
| ) |
Constructor.
| fallbackConfiguration | Generally applicable configuration that can be used if no local configuration are applicable. It is suggested to use MPIParallelizedStrategy::createFallBackConfiguration() for this. |
| comm | The communicator holding all ranks which participate in this tuning strategy. |
| mpiTuningMaxDifferenceForBucket | |
| mpiTuningWeightForMaxDensity |
|
static |
Create a resilient configuration that should always be applicable.
The idea is to pick some configuration that is basically always applicable (lc_c08) and guess from the search space which options Newton3 and Data Layout options are allowed.
| searchSpace | |
| interactionType |
| const AutoPas_MPI_Comm & autopas::MPIParallelizedStrategy::getBucket | ( | ) | const |
Get the MPI communicator for this rank's bucket.
|
overridevirtual |
Get this object's associated TuningStrategyOption type.
Implements autopas::TuningStrategyInterface.
|
inlineoverridevirtual |
Indicate whether the strategy needs domain similarity statistics.
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Optimizes the queue of configurations to process.
This function is called once before each iteration in a tuning phase so all tuning strategies can give their input on which configuration to try next. This is done by reordering configQueue so that the next configuration to try is at the end (FIFO).
| configQueue | Queue of configurations to be tested. The tuning strategy should edit this queue. |
| evidenceCollection | All collected evidence until now. |
Implements autopas::TuningStrategyInterface.
|
overridevirtual |
Method to pass smoothed domain similarity statistics (particle-dependent bin standard deviation in density and max density) to the tuning strategy.
See LiveInfo::gather for meaning of particle dependent bin.
| pdBinStdDevDensity | particle-dependent bin density standard deviation. |
| pdBinMaxDensity | particle-dependent bin maximum density. |
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Notify the strategy about a configuration that is (currently) invalid and thus can potentially be dropped from some internal storage.
| configuration | |
| indefinitely | Whether the given configuration will never be valid |
Reimplemented from autopas::TuningStrategyInterface.
|
overridevirtual |
Reset all internal parameters to the beginning of a new tuning phase.
This can also mean to reorder the configQueue to some initially expected state.
| iteration | Gives the current iteration to the tuning strategy. |
| tuningPhase | Gives the current tuning phase to the tuning strategy. |
| configQueue | Queue of configurations to be tested. The tuning strategy should edit this queue. |
| evidenceCollection | All collected evidence until now. |
Implements autopas::TuningStrategyInterface.