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.