1 #ifndef PARALLELMIMCMCWORKER_H_
2 #define PARALLELMIMCMCWORKER_H_
15 #include "spdlog/spdlog.h"
16 #include "spdlog/fmt/ostr.h"
27 namespace SamplingAlgorithms {
38 std::shared_ptr<MultiIndex> modelindex);
60 std::shared_ptr<parcer::Communicator>
comm;
71 std::map<std::shared_ptr<MultiIndex>, Eigen::VectorXd, MultiPtrComp>
means;
86 void assignGroup (std::vector<int> subgroup, std::shared_ptr<MultiIndex> modelindex);
88 std::vector<int>
UnassignGroup (std::shared_ptr<MultiIndex> modelIndex,
int groupRootRank);
95 std::shared_ptr<parcer::Communicator>
comm;
112 std::shared_ptr<parcer::Communicator> comm,
113 std::shared_ptr<PhonebookClient> phonebookClient,
115 std::shared_ptr<ParallelizableMIComponentFactory> componentFactory,
116 std::shared_ptr<muq::Utilities::OTF2TracerBase> tracer);
High-level communication wrapper for controlling SampleCollectors.
Eigen::VectorXd GetQOIMean()
std::map< std::shared_ptr< MultiIndex >, Eigen::VectorXd, MultiPtrComp > means
std::shared_ptr< MultiIndex > GetModelIndex() const
bool Receive(ControlFlag command, const MPI_Status &status)
void WriteToFile(std::string filename)
std::shared_ptr< MultiIndexSet > boxIndices
CollectorClient(std::shared_ptr< parcer::Communicator > comm, std::vector< int > subgroup, std::shared_ptr< MultiIndex > modelindex)
std::shared_ptr< MultiIndex > boxLowestIndex
void CollectSamples(int numSamples)
std::shared_ptr< parcer::Communicator > comm
std::vector< int > subgroup
Eigen::VectorXd boxQOIMean
std::shared_ptr< MultiIndex > boxHighestIndex
High-level communication wrapper for controlling worker processes.
std::shared_ptr< parcer::Communicator > comm
void assignGroup(std::vector< int > subgroup, std::shared_ptr< MultiIndex > modelindex)
std::shared_ptr< PhonebookClient > phonebookClient
std::vector< int > UnassignGroup(std::shared_ptr< MultiIndex > modelIndex, int groupRootRank)
WorkerClient(std::shared_ptr< parcer::Communicator > comm, std::shared_ptr< PhonebookClient > phonebookClient, int RootRank)
Implements the actual sampling / collecting logic for parallel MIMCMC.
WorkerServer(boost::property_tree::ptree const &pt, std::shared_ptr< parcer::Communicator > comm, std::shared_ptr< PhonebookClient > phonebookClient, int RootRank, std::shared_ptr< ParallelizableMIComponentFactory > componentFactory, std::shared_ptr< muq::Utilities::OTF2TracerBase > tracer)
std::string multiindexToConfigString(std::shared_ptr< MultiIndex > index)
ControlFlag
Flags used by parallel MCMC/MIMCMC type methods.