![]() |
QMCPACK
|
Manager clones for threaded applications. More...
Inheritance diagram for CloneManager:
Collaboration diagram for CloneManager:Public Member Functions | |
| CloneManager () | |
| Constructor. More... | |
| virtual | ~CloneManager () |
| virtual destructor More... | |
| void | makeClones (MCWalkerConfiguration &w, TrialWaveFunction &psi, QMCHamiltonian &ham) |
| void | makeClones (MCWalkerConfiguration &w, std::vector< TrialWaveFunction *> &psi, std::vector< QMCHamiltonian *> &ham) |
| void | makeClones (MCWalkerConfiguration &wg, TrialWaveFunction &guide) |
| void | makeClones (TrialWaveFunction &guide) |
| RealType | acceptRatio () const |
Static Public Member Functions | |
| static void | clearClones () |
Protected Member Functions | |
| RefVector< WalkerLogCollector > | getWalkerLogCollectorRefs () |
Protected Attributes | |
| const IndexType | NumThreads |
| number of threads More... | |
| std::vector< QMCUpdateBase * > | Movers |
| update engines More... | |
| std::vector< EstimatorManagerBase * > | estimatorClones |
| estimator managers More... | |
| std::vector< TraceManager * > | traceClones |
| trace managers More... | |
| UPtrVector< WalkerLogCollector > | wlog_collectors |
| trace collectors More... | |
| UPtrVector< CSUpdateBase > | CSMovers |
| std::vector< int > | wPerRank |
| Walkers per MPI rank. More... | |
Additional Inherited Members | |
Public Types inherited from QMCTraits | |
| enum | { DIM = OHMMS_DIM, DIM_VGL = OHMMS_DIM + 2 } |
| using | QTBase = QMCTypes< OHMMS_PRECISION, DIM > |
| using | QTFull = QMCTypes< OHMMS_PRECISION_FULL, DIM > |
| using | RealType = QTBase::RealType |
| using | ComplexType = QTBase::ComplexType |
| using | ValueType = QTBase::ValueType |
| using | PosType = QTBase::PosType |
| using | GradType = QTBase::GradType |
| using | TensorType = QTBase::TensorType |
| using | IndexType = OHMMS_INDEXTYPE |
| define other types More... | |
| using | FullPrecRealType = QTFull::RealType |
| using | FullPrecValueType = QTFull::ValueType |
| using | PropertySetType = RecordNamedProperty< FullPrecRealType > |
| define PropertyList_t More... | |
| using | PtclGrpIndexes = std::vector< std::pair< int, int > > |
Manager clones for threaded applications.
Clones for the ParticleSet, TrialWaveFunction and QMCHamiltonian are static to ensure only one set of clones persist during a run.
Definition at line 34 of file CloneManager.h.
| CloneManager | ( | ) |
Constructor.
Definition at line 78 of file CloneManager.cpp.
References CloneManager::NumThreads, and CloneManager::wPerRank.
|
virtual |
virtual destructor
cleanup non-static data members
Definition at line 81 of file CloneManager.cpp.
References qmcplusplus::delete_iter(), CloneManager::estimatorClones, CloneManager::Movers, and CloneManager::traceClones.
| CloneManager::RealType acceptRatio | ( | ) | const |
Definition at line 247 of file CloneManager.cpp.
References qmcplusplus::app_warning(), CloneManager::Movers, and CloneManager::NumThreads.
Referenced by DMC::run(), and qmcplusplus::TEST_CASE().
|
static |
Definition at line 58 of file CloneManager.cpp.
References CloneManager::guideClones, CloneManager::guideClones_uptr, CloneManager::hClones, CloneManager::hClones_uptr, CloneManager::HPoolClones, CloneManager::HPoolClones_uptr, CloneManager::psiClones, CloneManager::psiClones_uptr, CloneManager::PsiPoolClones, CloneManager::PsiPoolClones_uptr, CloneManager::wClones, CloneManager::wClones_uptr, CloneManager::WPoolClones, and CloneManager::WPoolClones_uptr.
Referenced by qmcplusplus::TEST_CASE(), and QMCMain::~QMCMain().
|
protected |
Definition at line 283 of file CloneManager.cpp.
References CloneManager::wlog_collectors.
Referenced by VMC::run(), and DMC::run().
| void makeClones | ( | MCWalkerConfiguration & | w, |
| TrialWaveFunction & | psi, | ||
| QMCHamiltonian & | ham | ||
| ) |
Definition at line 91 of file CloneManager.cpp.
References qmcplusplus::app_log(), qmcplusplus::ham, CloneManager::hClones, CloneManager::hClones_uptr, infoLog, infoSummary, QMCHamiltonian::makeClone(), TrialWaveFunction::makeClone(), CloneManager::NumThreads, omp_get_num_threads(), omp_get_thread_num(), outputManager, OutputManagerClass::pause(), qmcplusplus::print_mem(), CloneManager::psiClones, CloneManager::psiClones_uptr, InfoStream::resume(), CloneManager::wClones, and CloneManager::wClones_uptr.
Referenced by VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), and DMC::resetUpdateEngines().
| void makeClones | ( | MCWalkerConfiguration & | w, |
| std::vector< TrialWaveFunction *> & | psi, | ||
| std::vector< QMCHamiltonian *> & | ham | ||
| ) |
Definition at line 142 of file CloneManager.cpp.
References qmcplusplus::app_log(), CloneManager::HPoolClones, CloneManager::HPoolClones_uptr, infoLog, infoSummary, QMCState::io_node, CloneManager::NumThreads, outputManager, OutputManagerClass::pause(), CloneManager::PsiPoolClones, CloneManager::PsiPoolClones_uptr, qmcplusplus::qmc_common, InfoStream::resume(), CloneManager::wClones, CloneManager::wClones_uptr, and CloneManager::WPoolClones.
| void makeClones | ( | MCWalkerConfiguration & | wg, |
| TrialWaveFunction & | guide | ||
| ) |
Definition at line 221 of file CloneManager.cpp.
References qmcplusplus::app_log(), CloneManager::guideClones, CloneManager::guideClones_uptr, infoLog, infoSummary, TrialWaveFunction::makeClone(), CloneManager::NumThreads, outputManager, OutputManagerClass::pause(), InfoStream::resume(), and CloneManager::wgClones.
| void makeClones | ( | TrialWaveFunction & | guide | ) |
Definition at line 197 of file CloneManager.cpp.
References qmcplusplus::app_log(), CloneManager::guideClones, CloneManager::guideClones_uptr, infoLog, infoSummary, TrialWaveFunction::makeClone(), CloneManager::NumThreads, outputManager, OutputManagerClass::pause(), InfoStream::resume(), and CloneManager::wClones.
|
protected |
Definition at line 88 of file CloneManager.h.
Referenced by CSVMC::resetRun(), and CSVMC::run().
|
protected |
estimator managers
Definition at line 75 of file CloneManager.h.
Referenced by VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), CSVMC::run(), and CloneManager::~CloneManager().
|
staticprotected |
Definition at line 68 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
guide wavefunctions
Definition at line 67 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
Definition at line 71 of file CloneManager.h.
Referenced by QMCCostFunction::checkConfigurations(), CloneManager::clearClones(), QMCCostFunction::correlatedSampling(), QMCCostFunction::getConfigurations(), CloneManager::makeClones(), VMC::resetRun(), RMC::resetRun(), and DMC::resetUpdateEngines().
|
staticprotected |
Hamiltonians.
Definition at line 70 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
Definition at line 87 of file CloneManager.h.
Referenced by CloneManager::clearClones(), CloneManager::makeClones(), and CSVMC::resetRun().
|
staticprotected |
Definition at line 86 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
protected |
update engines
Definition at line 73 of file CloneManager.h.
Referenced by CloneManager::acceptRatio(), VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), DMC::run(), and CloneManager::~CloneManager().
|
protected |
number of threads
Definition at line 54 of file CloneManager.h.
Referenced by CloneManager::acceptRatio(), QMCCostFunction::checkConfigurations(), CloneManager::CloneManager(), QMCCostFunction::correlatedSampling(), QMCCostFunction::fillOverlapHamiltonianMatrices(), QMCCostFunction::getConfigurations(), QMCCostFunction::GradCost(), CloneManager::makeClones(), VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), DMC::run(), and CSVMC::run().
|
staticprotected |
Definition at line 65 of file CloneManager.h.
Referenced by QMCCostFunction::checkConfigurations(), CloneManager::clearClones(), QMCCostFunction::correlatedSampling(), CloneManager::makeClones(), QMCCostFunction::resetPsi(), VMC::resetRun(), RMC::resetRun(), and DMC::resetUpdateEngines().
|
staticprotected |
trial wavefunctions
Definition at line 64 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
Definition at line 85 of file CloneManager.h.
Referenced by CloneManager::clearClones(), CloneManager::makeClones(), and CSVMC::resetRun().
|
staticprotected |
Definition at line 84 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
protected |
trace managers
Definition at line 77 of file CloneManager.h.
Referenced by VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), DMC::run(), CSVMC::run(), and CloneManager::~CloneManager().
|
staticprotected |
Definition at line 61 of file CloneManager.h.
Referenced by QMCCostFunction::checkConfigurations(), CloneManager::clearClones(), QMCCostFunction::correlatedSampling(), QMCCostFunction::fillOverlapHamiltonianMatrices(), QMCCostFunction::getConfigurations(), QMCCostFunction::GradCost(), CloneManager::makeClones(), VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), DMC::run(), and CSVMC::run().
|
staticprotected |
walkers
Definition at line 60 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
Definition at line 62 of file CloneManager.h.
Referenced by CloneManager::makeClones().
|
protected |
trace collectors
Definition at line 79 of file CloneManager.h.
Referenced by CloneManager::getWalkerLogCollectorRefs(), VMC::resetRun(), and DMC::resetUpdateEngines().
|
protected |
Walkers per MPI rank.
Definition at line 91 of file CloneManager.h.
Referenced by QMCCostFunction::checkConfigurations(), CloneManager::CloneManager(), QMCCostFunction::correlatedSampling(), QMCCostFunction::getConfigurations(), VMC::resetRun(), CSVMC::resetRun(), RMC::resetRun(), DMC::resetUpdateEngines(), VMC::run(), RMC::run(), DMC::run(), and CSVMC::run().
|
staticprotected |
Definition at line 83 of file CloneManager.h.
Referenced by CloneManager::clearClones(), and CloneManager::makeClones().
|
staticprotected |
Definition at line 82 of file CloneManager.h.
Referenced by CloneManager::clearClones().