QMCPACK
CloneManager Class Reference

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< WalkerLogCollectorgetWalkerLogCollectorRefs ()
 

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< WalkerLogCollectorwlog_collectors
 trace collectors More...
 
UPtrVector< CSUpdateBaseCSMovers
 
std::vector< int > wPerRank
 Walkers per MPI rank. More...
 

Static Protected Attributes

static UPtrVector< MCWalkerConfigurationwClones_uptr
 walkers More...
 
static std::vector< MCWalkerConfiguration * > wClones
 
static UPtrVector< MCWalkerConfigurationwgClones
 
static UPtrVector< TrialWaveFunctionpsiClones_uptr
 trial wavefunctions More...
 
static std::vector< TrialWaveFunction * > psiClones
 
static UPtrVector< TrialWaveFunctionguideClones_uptr
 guide wavefunctions More...
 
static std::vector< TrialWaveFunction * > guideClones
 
static UPtrVector< QMCHamiltonianhClones_uptr
 Hamiltonians. More...
 
static std::vector< QMCHamiltonian * > hClones
 
static std::vector< UPtrVector< MCWalkerConfiguration > > WPoolClones_uptr
 
static std::vector< std::vector< MCWalkerConfiguration * > > WPoolClones
 
static std::vector< UPtrVector< TrialWaveFunction > > PsiPoolClones_uptr
 
static std::vector< std::vector< TrialWaveFunction * > > PsiPoolClones
 
static std::vector< UPtrVector< QMCHamiltonian > > HPoolClones_uptr
 
static std::vector< std::vector< QMCHamiltonian * > > HPoolClones
 

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 > >
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CloneManager()

Constructor.

Definition at line 78 of file CloneManager.cpp.

References CloneManager::NumThreads, and CloneManager::wPerRank.

78 : NumThreads(omp_get_max_threads()) { wPerRank.resize(NumThreads + 1, 0); }
std::vector< int > wPerRank
Walkers per MPI rank.
Definition: CloneManager.h:91
omp_int_t omp_get_max_threads()
Definition: OpenMP.h:26
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54

◆ ~CloneManager()

~CloneManager ( )
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.

82 {
83  delete_iter(Movers.begin(), Movers.end());
85 
86 #if !defined(REMOVE_TRACEMANAGER)
87  delete_iter(traceClones.begin(), traceClones.end());
88 #endif
89 }
void delete_iter(IT first, IT last)
delete the pointers in [first,last)
std::vector< QMCUpdateBase * > Movers
update engines
Definition: CloneManager.h:73
std::vector< EstimatorManagerBase * > estimatorClones
estimator managers
Definition: CloneManager.h:75
std::vector< TraceManager * > traceClones
trace managers
Definition: CloneManager.h:77

Member Function Documentation

◆ acceptRatio()

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().

248 {
249  IndexType nAcceptTot = 0;
250  IndexType nRejectTot = 0;
251  for (int ip = 0; ip < NumThreads; ip++)
252  {
253  nAcceptTot += Movers[ip]->nAccept;
254  nRejectTot += Movers[ip]->nReject;
255  }
256 #if defined(__GNUC__) || !defined(NDEBUG)
257  // Attempt to detect compiler vectorization errors by computing
258  // acceptance ratio in a different way to the above loop
259  IndexType nAcceptTot_debug = 0;
260  IndexType nRejectTot_debug = 0;
261  std::vector<int> vec(NumThreads);
262  for (int ip = 0; ip < NumThreads; ip++)
263  {
264  vec[ip] = Movers[ip]->nAccept;
265  nAcceptTot_debug += vec[ip];
266  vec[ip] = Movers[ip]->nReject;
267  nRejectTot_debug += vec[ip];
268  }
269  if (nAcceptTot != nAcceptTot_debug || nRejectTot != nRejectTot_debug)
270  {
271  app_warning() << " Potential compiler bug detected!"
272  << " Overwriting nAcceptTot wrong value " << nAcceptTot << " with correct value " << nAcceptTot_debug
273  << "."
274  << " Overwriting nRejectTot wrong value " << nRejectTot << " with correct value " << nRejectTot_debug
275  << "." << std::endl;
276  nAcceptTot = nAcceptTot_debug;
277  nRejectTot = nRejectTot_debug;
278  }
279 #endif
280  return static_cast<RealType>(nAcceptTot) / static_cast<RealType>(nAcceptTot + nRejectTot);
281 }
std::ostream & app_warning()
Definition: OutputManager.h:69
std::vector< QMCUpdateBase * > Movers
update engines
Definition: CloneManager.h:73
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54
OHMMS_INDEXTYPE IndexType
define other types
Definition: Configuration.h:65
QMCTraits::RealType RealType

◆ clearClones()

void clearClones ( )
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().

59 {
60  HPoolClones.clear();
61  HPoolClones_uptr.clear();
62  PsiPoolClones.clear();
63  PsiPoolClones_uptr.clear();
64  WPoolClones.clear();
65  WPoolClones_uptr.clear();
66 
67  hClones.clear();
68  hClones_uptr.clear();
69  guideClones.clear();
70  guideClones_uptr.clear();
71  psiClones.clear();
72  psiClones_uptr.clear();
73  wClones.clear();
74  wClones_uptr.clear();
75 }
static std::vector< TrialWaveFunction * > psiClones
Definition: CloneManager.h:65
static std::vector< std::vector< TrialWaveFunction * > > PsiPoolClones
Definition: CloneManager.h:85
static std::vector< TrialWaveFunction * > guideClones
Definition: CloneManager.h:68
static std::vector< MCWalkerConfiguration * > wClones
Definition: CloneManager.h:61
static UPtrVector< TrialWaveFunction > guideClones_uptr
guide wavefunctions
Definition: CloneManager.h:67
static UPtrVector< TrialWaveFunction > psiClones_uptr
trial wavefunctions
Definition: CloneManager.h:64
static std::vector< UPtrVector< MCWalkerConfiguration > > WPoolClones_uptr
Definition: CloneManager.h:82
static UPtrVector< MCWalkerConfiguration > wClones_uptr
walkers
Definition: CloneManager.h:60
static std::vector< QMCHamiltonian * > hClones
Definition: CloneManager.h:71
static std::vector< UPtrVector< TrialWaveFunction > > PsiPoolClones_uptr
Definition: CloneManager.h:84
static UPtrVector< QMCHamiltonian > hClones_uptr
Hamiltonians.
Definition: CloneManager.h:70
static std::vector< std::vector< QMCHamiltonian * > > HPoolClones
Definition: CloneManager.h:87
static std::vector< std::vector< MCWalkerConfiguration * > > WPoolClones
Definition: CloneManager.h:83
static std::vector< UPtrVector< QMCHamiltonian > > HPoolClones_uptr
Definition: CloneManager.h:86

◆ getWalkerLogCollectorRefs()

RefVector< WalkerLogCollector > getWalkerLogCollectorRefs ( )
protected

Definition at line 283 of file CloneManager.cpp.

References CloneManager::wlog_collectors.

Referenced by VMC::run(), and DMC::run().

284 {
285  RefVector<WalkerLogCollector> refs;
286  for(int i = 0; i < wlog_collectors.size(); i++)
287  refs.push_back(*wlog_collectors[i]);
288  return refs;
289 }
UPtrVector< WalkerLogCollector > wlog_collectors
trace collectors
Definition: CloneManager.h:79

◆ makeClones() [1/4]

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().

92 {
93  if (wClones.size())
94  {
95  app_log() << " Cannot make clones again. Use existing " << NumThreads << " clones" << std::endl;
96  return;
97  }
98  wClones.resize(NumThreads);
99  psiClones.resize(NumThreads);
100  hClones.resize(NumThreads);
101  wClones[0] = &w;
102  psiClones[0] = &psi;
103  hClones[0] = &ham;
104  if (NumThreads == 1)
105  return;
106 
107  wClones_uptr.resize(NumThreads - 1);
108  psiClones_uptr.resize(NumThreads - 1);
109  hClones_uptr.resize(NumThreads - 1);
110 
111  app_log() << " CloneManager::makeClones makes " << NumThreads << " clones for W/Psi/H." << std::endl;
112  app_log() << " Cloning methods for both Psi and H are used" << std::endl;
113  print_mem("Memory Usage before cloning", app_log());
115  // clang-format off
116  #pragma omp parallel
117  {
118  // check sizes
119  #pragma omp master
121  throw std::runtime_error("CloneManager::makeClones Inconsist NumThreads and omp_get_num_threads()!\n");
122 
123  const int ip = omp_get_thread_num();
124  if (ip > 0)
125  {
126  // all the [ip] objects must be created on the ip threads to have first touch accurate.
127  wClones_uptr[ip - 1] = std::make_unique<MCWalkerConfiguration>(w);
128  wClones[ip] = wClones_uptr[ip - 1].get();
129  psiClones_uptr[ip - 1] = psi.makeClone(*wClones[ip]);
130  psiClones[ip] = psiClones_uptr[ip-1].get();
131  hClones_uptr[ip - 1] = ham.makeClone(*wClones[ip], *psiClones[ip]);
132  hClones[ip] = hClones_uptr[ip-1].get();
133  }
134  }
135  // clang-format on
136  infoLog.resume();
138  print_mem("Memory Usage after cloning", app_log());
139 }
void pause()
Pause the summary and log streams.
static std::vector< TrialWaveFunction * > psiClones
Definition: CloneManager.h:65
InfoStream infoSummary
static std::vector< MCWalkerConfiguration * > wClones
Definition: CloneManager.h:61
std::ostream & app_log()
Definition: OutputManager.h:65
void print_mem(const std::string &title, std::ostream &log)
Definition: MemoryUsage.cpp:30
void resume()
Continue output on the stream used before pausing.
Definition: InfoStream.cpp:47
InfoStream infoLog
OutputManagerClass outputManager(Verbosity::HIGH)
static UPtrVector< TrialWaveFunction > psiClones_uptr
trial wavefunctions
Definition: CloneManager.h:64
omp_int_t omp_get_thread_num()
Definition: OpenMP.h:25
static UPtrVector< MCWalkerConfiguration > wClones_uptr
walkers
Definition: CloneManager.h:60
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54
omp_int_t omp_get_num_threads()
Definition: OpenMP.h:27
static std::vector< QMCHamiltonian * > hClones
Definition: CloneManager.h:71
static UPtrVector< QMCHamiltonian > hClones_uptr
Hamiltonians.
Definition: CloneManager.h:70
std::unique_ptr< QMCHamiltonian > makeClone(ParticleSet &qp, TrialWaveFunction &psi) const
return a clone

◆ makeClones() [2/4]

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.

145 {
146  if (WPoolClones.size())
147  {
148  app_log() << " Cannot make clones again. Use existing " << NumThreads << " clones" << std::endl;
149  return;
150  }
151  IndexType nPsi = psipool.size();
152 
153  wClones.resize(NumThreads);
154  PsiPoolClones.resize(NumThreads);
155  HPoolClones.resize(NumThreads);
156  wClones[0] = &w;
157  PsiPoolClones[0] = psipool;
158  HPoolClones[0] = hampool;
159 
160  if (NumThreads == 1)
161  return;
162 
163  wClones_uptr.resize(NumThreads - 1);
164  PsiPoolClones_uptr.resize(NumThreads - 1);
165  HPoolClones_uptr.resize(NumThreads - 1);
166 
167  app_log() << " CloneManager::makeClones makes " << NumThreads << " clones for W/Psi/H Pools." << std::endl;
168  app_log() << " Cloning methods for both Psi and H are used" << std::endl;
170 
171  bool io_node = qmc_common.io_node;
172  qmc_common.io_node = false;
173 
174  for (int ip = 1; ip < NumThreads; ++ip)
175  {
176  PsiPoolClones[ip].resize(nPsi);
177  PsiPoolClones_uptr[ip - 1].resize(nPsi);
178  HPoolClones[ip].resize(nPsi);
179  HPoolClones_uptr[ip - 1].resize(nPsi);
180 
181  wClones_uptr[ip - 1] = std::make_unique<MCWalkerConfiguration>(w);
182  wClones[ip] = wClones_uptr[ip - 1].get();
183  for (int ipsi = 0; ipsi < psipool.size(); ipsi++)
184  {
185  PsiPoolClones_uptr[ip - 1][ipsi] = psipool[ipsi]->makeClone(w);
186  PsiPoolClones[ip][ipsi] = PsiPoolClones_uptr[ip - 1][ipsi].get();
187  HPoolClones_uptr[ip - 1][ipsi] = hampool[ipsi]->makeClone(w, *psipool[ipsi]);
188  HPoolClones[ip][ipsi] = HPoolClones_uptr[ip - 1][ipsi].get();
189  }
190  }
192  infoLog.resume();
193  qmc_common.io_node = io_node;
194 }
void pause()
Pause the summary and log streams.
static std::vector< std::vector< TrialWaveFunction * > > PsiPoolClones
Definition: CloneManager.h:85
InfoStream infoSummary
static std::vector< MCWalkerConfiguration * > wClones
Definition: CloneManager.h:61
std::ostream & app_log()
Definition: OutputManager.h:65
void resume()
Continue output on the stream used before pausing.
Definition: InfoStream.cpp:47
InfoStream infoLog
OutputManagerClass outputManager(Verbosity::HIGH)
static UPtrVector< MCWalkerConfiguration > wClones_uptr
walkers
Definition: CloneManager.h:60
bool io_node
true, print out file
Definition: qmc_common.h:39
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54
OHMMS_INDEXTYPE IndexType
define other types
Definition: Configuration.h:65
static std::vector< UPtrVector< TrialWaveFunction > > PsiPoolClones_uptr
Definition: CloneManager.h:84
static std::vector< std::vector< QMCHamiltonian * > > HPoolClones
Definition: CloneManager.h:87
QMCState qmc_common
a unique QMCState during a run
Definition: qmc_common.cpp:111
static std::vector< std::vector< MCWalkerConfiguration * > > WPoolClones
Definition: CloneManager.h:83
static std::vector< UPtrVector< QMCHamiltonian > > HPoolClones_uptr
Definition: CloneManager.h:86

◆ makeClones() [3/4]

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.

222 {
223  if (guideClones.size())
224  {
225  app_log() << " Cannot make clones again. Use existing " << NumThreads << " clones" << std::endl;
226  return;
227  }
228  guideClones.resize(NumThreads);
229  wgClones.resize(NumThreads);
230  guideClones[0] = &guide;
231  wgClones[0] = std::make_unique<MCWalkerConfiguration>(wg);
232  if (NumThreads == 1)
233  return;
234  guideClones_uptr.resize(NumThreads - 1);
235  app_log() << " CloneManager::makeClones makes " << NumThreads << " clones for guide/wg." << std::endl;
237  for (int ip = 1; ip < NumThreads; ++ip)
238  {
239  wgClones[ip] = std::make_unique<MCWalkerConfiguration>(wg);
240  guideClones_uptr[ip - 1] = guide.makeClone(*wgClones[ip]);
241  guideClones[ip] = guideClones_uptr[ip - 1].get();
242  }
244  infoLog.resume();
245 }
void pause()
Pause the summary and log streams.
static UPtrVector< MCWalkerConfiguration > wgClones
Definition: CloneManager.h:62
static std::vector< TrialWaveFunction * > guideClones
Definition: CloneManager.h:68
InfoStream infoSummary
std::ostream & app_log()
Definition: OutputManager.h:65
void resume()
Continue output on the stream used before pausing.
Definition: InfoStream.cpp:47
InfoStream infoLog
static UPtrVector< TrialWaveFunction > guideClones_uptr
guide wavefunctions
Definition: CloneManager.h:67
OutputManagerClass outputManager(Verbosity::HIGH)
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54

◆ makeClones() [4/4]

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.

198 {
199  if (guideClones.size())
200  {
201  app_log() << " Cannot make clones again. Use existing " << NumThreads << " clones" << std::endl;
202  return;
203  }
204  guideClones.resize(NumThreads);
205  guideClones[0] = &guide;
206  if (NumThreads == 1)
207  return;
208  guideClones_uptr.resize(NumThreads - 1);
209  app_log() << " CloneManager::makeClones makes " << NumThreads << " clones for guide/wg." << std::endl;
211  for (int ip = 1; ip < NumThreads; ++ip)
212  {
213  guideClones_uptr[ip - 1] = guide.makeClone(*wClones[ip]);
214  guideClones[ip] = guideClones_uptr[ip - 1].get();
215  }
217  infoLog.resume();
218 }
void pause()
Pause the summary and log streams.
static std::vector< TrialWaveFunction * > guideClones
Definition: CloneManager.h:68
InfoStream infoSummary
static std::vector< MCWalkerConfiguration * > wClones
Definition: CloneManager.h:61
std::ostream & app_log()
Definition: OutputManager.h:65
void resume()
Continue output on the stream used before pausing.
Definition: InfoStream.cpp:47
InfoStream infoLog
static UPtrVector< TrialWaveFunction > guideClones_uptr
guide wavefunctions
Definition: CloneManager.h:67
OutputManagerClass outputManager(Verbosity::HIGH)
const IndexType NumThreads
number of threads
Definition: CloneManager.h:54

Member Data Documentation

◆ CSMovers

UPtrVector<CSUpdateBase> CSMovers
protected

Definition at line 88 of file CloneManager.h.

Referenced by CSVMC::resetRun(), and CSVMC::run().

◆ estimatorClones

std::vector<EstimatorManagerBase*> estimatorClones
protected

◆ guideClones

std::vector< TrialWaveFunction * > guideClones
staticprotected

Definition at line 68 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ guideClones_uptr

UPtrVector< TrialWaveFunction > guideClones_uptr
staticprotected

guide wavefunctions

Definition at line 67 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ hClones

◆ hClones_uptr

UPtrVector< QMCHamiltonian > hClones_uptr
staticprotected

Hamiltonians.

Definition at line 70 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ HPoolClones

std::vector< std::vector< QMCHamiltonian * > > HPoolClones
staticprotected

◆ HPoolClones_uptr

std::vector< UPtrVector< QMCHamiltonian > > HPoolClones_uptr
staticprotected

Definition at line 86 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ Movers

◆ NumThreads

◆ psiClones

◆ psiClones_uptr

UPtrVector< TrialWaveFunction > psiClones_uptr
staticprotected

trial wavefunctions

Definition at line 64 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ PsiPoolClones

std::vector< std::vector< TrialWaveFunction * > > PsiPoolClones
staticprotected

◆ PsiPoolClones_uptr

std::vector< UPtrVector< TrialWaveFunction > > PsiPoolClones_uptr
staticprotected

Definition at line 84 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ traceClones

std::vector<TraceManager*> traceClones
protected

◆ wClones

◆ wClones_uptr

UPtrVector< MCWalkerConfiguration > wClones_uptr
staticprotected

walkers

Definition at line 60 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ wgClones

UPtrVector< MCWalkerConfiguration > wgClones
staticprotected

Definition at line 62 of file CloneManager.h.

Referenced by CloneManager::makeClones().

◆ wlog_collectors

UPtrVector<WalkerLogCollector> wlog_collectors
protected

trace collectors

Definition at line 79 of file CloneManager.h.

Referenced by CloneManager::getWalkerLogCollectorRefs(), VMC::resetRun(), and DMC::resetUpdateEngines().

◆ wPerRank

◆ WPoolClones

std::vector< std::vector< MCWalkerConfiguration * > > WPoolClones
staticprotected

Definition at line 83 of file CloneManager.h.

Referenced by CloneManager::clearClones(), and CloneManager::makeClones().

◆ WPoolClones_uptr

std::vector< UPtrVector< MCWalkerConfiguration > > WPoolClones_uptr
staticprotected

Definition at line 82 of file CloneManager.h.

Referenced by CloneManager::clearClones().


The documentation for this class was generated from the following files: