![]() |
QMCPACK
|
Manager clones for threaded applications. More...
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 | |
![]() | |
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().