From a08f67b5450da6cf7ed8255be55a36834c9b81be Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Tue, 9 Jan 2018 14:18:10 -0600 Subject: [PATCH] Overwrite maxCopy to 2 if it is larger and nonblocking=yes. --- manual/dmc.tex | 2 +- src/QMCDrivers/WalkerControlBase.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/manual/dmc.tex b/manual/dmc.tex index f154b9fbc..e0e32c2aa 100644 --- a/manual/dmc.tex +++ b/manual/dmc.tex @@ -46,7 +46,7 @@ % & \texttt{wlen } & integer & $\ge 0$ & 0 & number of samples per thread \\ & \texttt{maxDisplSq } & real & all values & -1 & maximum particle move \\ & \texttt{storeconfigs } & integer & all values & 0 & store configurations \\ - & \texttt{use\_nonblocking } & string & yes/no & no & using non-blocking send/recv \\ + & \texttt{use\_nonblocking } & string & yes/no & yes & using non-blocking send/recv \\ & \texttt{blocks\_between\_recompute} & integer & $\ge 0$ & dep. & wavefunction recompute frequency \\ \hline \end{tabularx} diff --git a/src/QMCDrivers/WalkerControlBase.cpp b/src/QMCDrivers/WalkerControlBase.cpp index ad97d52b1..887052697 100644 --- a/src/QMCDrivers/WalkerControlBase.cpp +++ b/src/QMCDrivers/WalkerControlBase.cpp @@ -502,7 +502,7 @@ int WalkerControlBase::copyWalkers(MCWalkerConfiguration& W) bool WalkerControlBase::put(xmlNodePtr cur) { int nw_target=0, nw_max=0; - std::string nonblocking="no"; + std::string nonblocking="yes"; ParameterSet params; params.add(targetEnergyBound,"energyBound","double"); params.add(targetSigma,"sigmaBound","double"); @@ -516,8 +516,12 @@ bool WalkerControlBase::put(xmlNodePtr cur) // validating input if(nonblocking=="yes") { - APP_ABORT("WalkerControlBase::put use_nonblocking==\"yes\" is disabled currently!"); use_nonblocking = true; + if(MaxCopy>2) + { + app_warning() << "use_nonblocking==\"yes\" doesn't support maxCopy>2. Overwriting it to 2." << std::endl; + MaxCopy=2; + } } else if(nonblocking=="no") {