![]() |
QMCPACK
|
Class to manage a set of ScalarEstimators As a manager, this class handles the aggregation of data from crowds, MPI ranks and I/O logics. More...
Public Types | |
using | RealType = QMCTraits::FullPrecRealType |
This is to deal with vague expression of precision in legacy code. Don't use in new code. More... | |
using | FullPrecRealType = QMCTraits::FullPrecRealType |
using | QMCT = QMCTraits |
using | FPRBuffer = std::vector< FullPrecRealType > |
using | MCPWalker = Walker< QMCTraits, PtclOnLatticeTraits > |
Public Member Functions | |
EstimatorManagerNew (const QMCHamiltonian &ham, Communicate *comm) | |
default constructor More... | |
EstimatorManagerNew (EstimatorManagerNew &em)=delete | |
copy constructor, deleted More... | |
EstimatorManagerNew (Communicate *comm, EstimatorManagerInput &&emi, const QMCHamiltonian &H, const ParticleSet &pset, const TrialWaveFunction &twf) | |
Batched version constructor. More... | |
~EstimatorManagerNew () | |
destructor More... | |
int | addEstOperator (OperatorEstBase &op_est) |
add a "non" physical operator estimator More... | |
bool | put (QMCHamiltonian &H, const ParticleSet &pset, const TrialWaveFunction &twf, xmlNodePtr cur) |
process xml tag associated with estimators More... | |
void | startDriverRun () |
Start the manager at the beginning of a driver run(). More... | |
void | stopDriverRun () |
Stop the manager at the end of a driver run(). More... | |
void | startBlock (int steps) |
start a block More... | |
void | stopBlock (unsigned long accept, unsigned long reject, RealType block_weight) |
unified: stop a block More... | |
void | collectMainEstimators (const RefVector< ScalarEstimatorBase > &scalar_estimators) |
At end of block collect the main scalar estimators for the entire rank. More... | |
void | collectScalarEstimators (const std::vector< RefVector< ScalarEstimatorBase >> &scalar_ests) |
Deals with possible free form scalar estimators. More... | |
void | collectOperatorEstimators (const std::vector< RefVector< OperatorEstBase >> &op_ests) |
Reduces OperatorEstimator data from Crowds to the manager's OperatorEstimator data. More... | |
void | getApproximateEnergyVariance (RealType &e, RealType &var) |
get the average of per-block energy and variance of all the blocks Note: this is not weighted average. More... | |
auto & | get_AverageCache () |
std::size_t | getNumEstimators () |
std::size_t | getNumScalarEstimators () |
bool | areThereListeners () const |
Do any of the instantiated estimators in operator_ests_ listen to per particle hamiltonian values? Listeners are lambda functions captured from crowd scope estimators and passed to QMCHamiltonian leaders. More... | |
Private Member Functions | |
template<typename EstInputType , typename... Args> | |
bool | createEstimator (EstimatorInput &input, Args &&... args) |
Construct estimator of type matching the underlying EstimatorInput type Consumer and push its its unique_ptr onto operator_ests_. More... | |
template<typename EstInputType , typename... Args> | |
bool | createScalarEstimator (ScalarEstimatorInput &input, Args &&... args) |
Construct scalar estimator of type matching the underlying ScalarEstimatorInput type Consumer and push its its unique_ptr onto operator_ests_. More... | |
void | makeConfigReport (std::ostream &os) const |
Return a string with information about which estimators estimator manager is holding. More... | |
void | reset () |
reset the estimator More... | |
int | addScalarEstimator (std::unique_ptr< ScalarEstimatorBase > &&estimator) |
add an Estimator More... | |
void | addMainEstimator (std::unique_ptr< ScalarEstimatorBase > &&estimator) |
void | makeBlockAverages (unsigned long accept, unsigned long reject) |
collect data and write More... | |
void | writeScalarH5 () |
write scalars to scalar.dat and h5 More... | |
void | reduceOperatorEstimators () |
do the rank wise reduction of the OperatorEstimators More... | |
void | writeOperatorEstimators () |
Write OperatorEstimator data to *.stat.h5. More... | |
void | zeroOperatorEstimators () |
OperatorEstimators need to be zeroed out after the block is finished. More... | |
void | addHeader (std::ostream &o) |
add header to an std::ostream More... | |
Private Attributes | |
int | RecordCount |
number of records in a block More... | |
int | weightInd |
index for the block weight PropertyCache(weightInd) More... | |
int | cpuInd |
index for the block cpu PropertyCache(cpuInd) More... | |
int | acceptRatioInd |
index for the accept counter PropertyCache(acceptInd) More... | |
std::unique_ptr< hdf_archive > | h_file |
hdf5 handler More... | |
std::unique_ptr< std::ofstream > | Archive |
file handler to write data More... | |
std::unique_ptr< std::ofstream > | DebugArchive |
file handler to write data for debugging More... | |
Communicate * | my_comm_ |
communicator to handle communication More... | |
ScalarEstimatorBase::accumulator_type | energyAccumulator |
accumulator for the energy More... | |
ScalarEstimatorBase::accumulator_type | varAccumulator |
accumulator for the variance More... | |
Vector< RealType > | AverageCache |
cached block averages of the values More... | |
Vector< RealType > | PropertyCache |
cached block averages of properties, e.g. BlockCPU More... | |
RecordNamedProperty< RealType > | BlockAverages |
manager of scalar data More... | |
RecordNamedProperty< RealType > | BlockProperties |
manager of property data More... | |
UPtr< ScalarEstimatorBase > | main_estimator_ |
main estimator i.e. some version of a local energy estimator. More... | |
std::vector< UPtr< ScalarEstimatorBase > > | scalar_ests_ |
non main scalar estimators collecting simple scalars, are there any? with the removal of collectables these don't seem used or needed. More... | |
std::vector< ObservableHelper > | h5desc |
convenient descriptors for hdf5 More... | |
std::vector< std::unique_ptr< OperatorEstBase > > | operator_ests_ |
OperatorEst Observables. More... | |
Timer | block_timer_ |
block timer More... | |
int | max4ascii |
number of maximum data for a scalar.dat More... | |
size_t | FieldWidth |
Static Private Attributes | |
static constexpr std::string_view | error_tag_ {"EstimatorManagerNew "} |
Friends | |
class | EstimatorManagerCrowd |
class | qmcplusplus::testing::EstimatorManagerNewTest |
class | qmcplusplus::testing::EstimatorManagerNewTestAccess |
Class to manage a set of ScalarEstimators As a manager, this class handles the aggregation of data from crowds, MPI ranks and I/O logics.
The actually per-crowd data accumulation is done by EstimatorManagerCrowd.
Definition at line 45 of file EstimatorManagerNew.h.
using FPRBuffer = std::vector<FullPrecRealType> |
Definition at line 53 of file EstimatorManagerNew.h.
Definition at line 50 of file EstimatorManagerNew.h.
using MCPWalker = Walker<QMCTraits, PtclOnLatticeTraits> |
Definition at line 54 of file EstimatorManagerNew.h.
Definition at line 52 of file EstimatorManagerNew.h.
using RealType = QMCTraits::FullPrecRealType |
This is to deal with vague expression of precision in legacy code. Don't use in new code.
Definition at line 49 of file EstimatorManagerNew.h.
EstimatorManagerNew | ( | const QMCHamiltonian & | ham, |
Communicate * | comm | ||
) |
default constructor
Definition at line 50 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::addMainEstimator(), qmcplusplus::app_log(), qmcplusplus::ham, EstimatorManagerNew::max4ascii, and QMCHamiltonian::sizeOfObservables().
|
delete |
copy constructor, deleted
EstimatorManagerNew | ( | Communicate * | comm, |
EstimatorManagerInput && | emi, | ||
const QMCHamiltonian & | H, | ||
const ParticleSet & | pset, | ||
const TrialWaveFunction & | twf | ||
) |
Batched version constructor.
[in] | emi | EstimatorManagerInput consisting of merged global and local estimator definitions. Moved from! |
[in] | H | Fully Constructed Golden Hamiltonian. |
[in] | pset | The electron or equiv. pset |
[in] | twf | The fully constructed TrialWaveFunction. |
Definition at line 95 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::addMainEstimator(), qmcplusplus::app_log(), qmcplusplus::emi(), EstimatorManagerNew::error_tag_, EstimatorManagerInput::get_estimator_inputs(), EstimatorManagerInput::get_scalar_estimator_inputs(), EstimatorManagerNew::main_estimator_, EstimatorManagerNew::makeConfigReport(), EstimatorManagerNew::max4ascii, EstimatorManagerNew::my_comm_, qmcplusplus::pset, Communicate::rank(), QMCHamiltonian::sizeOfObservables(), and qmcplusplus::twf.
|
default |
destructor
int addEstOperator | ( | OperatorEstBase & | op_est | ) |
add a "non" physical operator estimator
this is a dratically reduced version of OperatorBase right now it just supports what the SpinDensityNew estimator needs
What is actually important is that it has its own locality aware data and EstimatorManagerNew doesn't know about or manage that data.
|
private |
add header to an std::ostream
Definition at line 179 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::BlockAverages, EstimatorManagerNew::BlockProperties, EstimatorManagerNew::FieldWidth, EstimatorManagerNew::max4ascii, omptarget::min(), RecordNamedProperty< T >::Names, and RecordNamedProperty< T >::size().
Referenced by EstimatorManagerNew::startDriverRun().
|
private |
Definition at line 551 of file EstimatorManagerNew.cpp.
References qmcplusplus::app_log(), and EstimatorManagerNew::main_estimator_.
Referenced by EstimatorManagerNew::createScalarEstimator(), EstimatorManagerNew::EstimatorManagerNew(), EstimatorManagerNew::put(), and EstimatorManagerNewTest::testReplaceMainEstimator().
|
private |
add an Estimator
[in] | estimator | New Estimator |
Definition at line 559 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::scalar_ests_.
Referenced by EstimatorManagerNewTest::fakeScalarSamplesAndCollect().
bool areThereListeners | ( | ) | const |
Do any of the instantiated estimators in operator_ests_ listen to per particle hamiltonian values? Listeners are lambda functions captured from crowd scope estimators and passed to QMCHamiltonian leaders.
Definition at line 58 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::operator_ests_.
Referenced by Crowd::Crowd().
void collectMainEstimators | ( | const RefVector< ScalarEstimatorBase > & | scalar_estimators | ) |
At end of block collect the main scalar estimators for the entire rank.
One per crowd over multiple walkers
Definition at line 264 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::AverageCache, and Vector< T, Alloc >::begin().
Referenced by EstimatorManagerNewTest::collectMainEstimators(), and EstimatorManagerNewTest::testMakeBlockAverages().
void collectOperatorEstimators | ( | const std::vector< RefVector< OperatorEstBase >> & | op_ests | ) |
Reduces OperatorEstimator data from Crowds to the manager's OperatorEstimator data.
[in] | op_ests | - vector of each crowds vector of references to their OperatorEstimators. |
A particular OperatorEstimators reduction via a call to collect may be straight forward if the crowd context OperatorEstimator holds a copy of the estimator data structure or more complex if it just collects for instance a list of writes to locations in the data structure.
Definition at line 287 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::operator_ests_.
void collectScalarEstimators | ( | const std::vector< RefVector< ScalarEstimatorBase >> & | scalar_ests | ) |
Deals with possible free form scalar estimators.
[in] | scalar_ests | - vector of each crowds vector of references to their OperatorEstimators. Still looking for actual use case. |
Definition at line 271 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::AverageCache, Vector< T, Alloc >::begin(), and EstimatorManagerNew::scalar_ests_.
Referenced by EstimatorManagerNewTest::fakeScalarSamplesAndCollect().
|
private |
Construct estimator of type matching the underlying EstimatorInput type Consumer and push its its unique_ptr onto operator_ests_.
Definition at line 65 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::operator_ests_.
|
private |
Construct scalar estimator of type matching the underlying ScalarEstimatorInput type Consumer and push its its unique_ptr onto operator_ests_.
Definition at line 78 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::addMainEstimator(), and EstimatorManagerNew::scalar_ests_.
|
inline |
Definition at line 144 of file EstimatorManagerNew.h.
References EstimatorManagerNew::AverageCache.
Referenced by EstimatorManagerNewTest::fakeMainScalarSamples(), EstimatorManagerNewTest::fakeScalarSamplesAndCollect(), qmcplusplus::if(), and qmcplusplus::TEST_CASE().
get the average of per-block energy and variance of all the blocks Note: this is not weighted average.
It can be the same as weighted average only when block weights are identical.
Definition at line 437 of file EstimatorManagerNew.cpp.
References Communicate::bcast(), accumulator_set< T, typename >::count(), qmcplusplus::Units::charge::e, EstimatorManagerNew::energyAccumulator, EstimatorManagerNew::my_comm_, accumulator_set< T, typename >::result(), and EstimatorManagerNew::varAccumulator.
|
inline |
Definition at line 146 of file EstimatorManagerNew.h.
References EstimatorManagerNew::operator_ests_.
Referenced by qmcplusplus::TEST_CASE().
|
inline |
Definition at line 147 of file EstimatorManagerNew.h.
References EstimatorManagerNew::scalar_ests_.
Referenced by qmcplusplus::TEST_CASE().
|
private |
collect data and write
Definition at line 298 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::acceptRatioInd, Communicate::allreduce(), EstimatorManagerNew::AverageCache, Vector< T, Alloc >::begin(), copy(), Vector< T, Alloc >::end(), EstimatorManagerNew::energyAccumulator, EstimatorManagerNew::my_comm_, EstimatorManagerNew::PropertyCache, Communicate::rank(), Communicate::size(), Vector< T, Alloc >::size(), EstimatorManagerNew::varAccumulator, and EstimatorManagerNew::weightInd.
Referenced by EstimatorManagerNew::stopBlock(), and EstimatorManagerNewTest::testMakeBlockAverages().
|
private |
Return a string with information about which estimators estimator manager is holding.
Definition at line 161 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::main_estimator_, EstimatorManagerNew::operator_ests_, and EstimatorManagerNew::scalar_ests_.
Referenced by EstimatorManagerNew::EstimatorManagerNew().
bool put | ( | QMCHamiltonian & | H, |
const ParticleSet & | pset, | ||
const TrialWaveFunction & | twf, | ||
xmlNodePtr | cur | ||
) |
process xml tag associated with estimators
Definition at line 448 of file EstimatorManagerNew.cpp.
References OhmmsAttributeSet::add(), EstimatorManagerNew::addMainEstimator(), qmcplusplus::app_log(), qmcplusplus::crowd, CrystalLattice< T, D >::explicitly_defined, SpinDensityInput::get_cell(), SpinDensityInput::get_save_memory(), EstimatorManagerNew::main_estimator_, EstimatorManagerNew::max4ascii, qmcplusplus::obdmi, EstimatorManagerNew::operator_ests_, qmcplusplus::pset, qmcplusplus::pset_target, OhmmsAttributeSet::put(), qmcplusplus::rank, QMCHamiltonian::sizeOfObservables(), and qmcplusplus::twf.
|
private |
do the rank wise reduction of the OperatorEstimators
Why do this here?
Implementation makes the assumption that sending each OperatorEstimator separately is the correct memory use vs. mpi message balance.
Definition at line 375 of file EstimatorManagerNew.cpp.
References qmcplusplus::convertUPtrToRefVector(), qmcplusplus::syclBLAS::copy_n(), EstimatorManagerNew::my_comm_, EstimatorManagerNew::operator_ests_, and Communicate::rank().
Referenced by EstimatorManagerNew::stopBlock(), and EstimatorManagerNewTest::testReduceOperatorEstimators().
|
private |
reset the estimator
reset names of the properties
The number of estimators and their order can vary from the previous state. reinitialized properties before setting up a new BlockAverage data list.
The object is still not completely valid.
Definition at line 144 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::acceptRatioInd, RecordNamedProperty< T >::add(), EstimatorManagerNew::BlockAverages, EstimatorManagerNew::BlockProperties, RecordNamedProperty< T >::clear(), EstimatorManagerNew::cpuInd, EstimatorManagerNew::main_estimator_, EstimatorManagerNew::max4ascii, EstimatorManagerNew::scalar_ests_, RecordNamedProperty< T >::size(), and EstimatorManagerNew::weightInd.
Referenced by EstimatorManagerNew::startDriverRun().
void startBlock | ( | int | steps | ) |
start a block
steps | number of steps in a block |
Definition at line 244 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::block_timer_, and Timer::restart().
void startDriverRun | ( | ) |
Start the manager at the beginning of a driver run().
Open files. Setting zeros.
blocks | number of blocks |
record | if true, will write to a file |
Replace reportHeader and reset functon.
Definition at line 199 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::addHeader(), EstimatorManagerNew::Archive, EstimatorManagerNew::AverageCache, EstimatorManagerNew::BlockAverages, EstimatorManagerNew::BlockProperties, accumulator_set< T, typename >::clear(), EstimatorManagerNew::DebugArchive, EstimatorManagerNew::energyAccumulator, Communicate::getName(), EstimatorManagerNew::h5desc, EstimatorManagerNew::h_file, EstimatorManagerNew::main_estimator_, EstimatorManagerNew::my_comm_, EstimatorManagerNew::operator_ests_, EstimatorManagerNew::PropertyCache, Communicate::rank(), EstimatorManagerNew::RecordCount, EstimatorManagerNew::reset(), Vector< T, Alloc >::resize(), EstimatorManagerNew::scalar_ests_, RecordNamedProperty< T >::setValues(), RecordNamedProperty< T >::size(), and EstimatorManagerNew::varAccumulator.
void stopBlock | ( | unsigned long | accept, |
unsigned long | reject, | ||
RealType | block_weight | ||
) |
unified: stop a block
accept | acceptance rate of this block | |
[in] | accept | |
[in] | reject | |
[in] | block_weight |
Definition at line 246 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::block_timer_, EstimatorManagerNew::cpuInd, Timer::elapsed(), EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::PropertyCache, EstimatorManagerNew::RecordCount, EstimatorManagerNew::reduceOperatorEstimators(), EstimatorManagerNew::weightInd, EstimatorManagerNew::writeOperatorEstimators(), EstimatorManagerNew::writeScalarH5(), and EstimatorManagerNew::zeroOperatorEstimators().
void stopDriverRun | ( | ) |
Stop the manager at the end of a driver run().
Flush/close files.
Definition at line 242 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::h_file.
|
private |
Write OperatorEstimator data to *.stat.h5.
Note that OperatorEstimator owns its own observable_helpers
Definition at line 418 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::h_file, EstimatorManagerNew::my_comm_, EstimatorManagerNew::operator_ests_, and Communicate::rank().
Referenced by EstimatorManagerNew::stopBlock().
|
private |
write scalars to scalar.dat and h5
Definition at line 352 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::Archive, EstimatorManagerNew::AverageCache, EstimatorManagerNew::BlockAverages, Vector< T, Alloc >::data(), EstimatorManagerNew::FieldWidth, EstimatorManagerNew::h5desc, EstimatorManagerNew::h_file, EstimatorManagerNew::max4ascii, omptarget::min(), EstimatorManagerNew::PropertyCache, EstimatorManagerNew::RecordCount, Vector< T, Alloc >::size(), and RecordNamedProperty< T >::size().
Referenced by EstimatorManagerNew::stopBlock().
|
private |
OperatorEstimators need to be zeroed out after the block is finished.
Definition at line 431 of file EstimatorManagerNew.cpp.
References EstimatorManagerNew::operator_ests_.
Referenced by EstimatorManagerNew::stopBlock().
|
friend |
Definition at line 276 of file EstimatorManagerNew.h.
|
friend |
Definition at line 277 of file EstimatorManagerNew.h.
|
friend |
Definition at line 278 of file EstimatorManagerNew.h.
|
private |
index for the accept counter PropertyCache(acceptInd)
Definition at line 222 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::reset(), and EstimatorManagerNewTest::testMakeBlockAverages().
|
private |
file handler to write data
Definition at line 226 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startDriverRun(), and EstimatorManagerNew::writeScalarH5().
cached block averages of the values
Definition at line 240 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::collectMainEstimators(), EstimatorManagerNew::collectScalarEstimators(), EstimatorManagerNew::get_AverageCache(), EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::startDriverRun(), and EstimatorManagerNew::writeScalarH5().
|
private |
block timer
Definition at line 265 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startBlock(), and EstimatorManagerNew::stopBlock().
|
private |
manager of scalar data
Definition at line 244 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addHeader(), EstimatorManagerNew::reset(), EstimatorManagerNew::startDriverRun(), and EstimatorManagerNew::writeScalarH5().
|
private |
manager of property data
Definition at line 246 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addHeader(), EstimatorManagerNew::reset(), EstimatorManagerNew::startDriverRun(), and EstimatorManagerNewTest::testMakeBlockAverages().
|
private |
index for the block cpu PropertyCache(cpuInd)
Definition at line 220 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::reset(), EstimatorManagerNew::stopBlock(), and EstimatorManagerNewTest::testMakeBlockAverages().
|
private |
file handler to write data for debugging
Definition at line 228 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startDriverRun().
|
private |
accumulator for the energy
Definition at line 235 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::getApproximateEnergyVariance(), EstimatorManagerNew::makeBlockAverages(), and EstimatorManagerNew::startDriverRun().
|
staticprivate |
Definition at line 274 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::EstimatorManagerNew().
|
private |
Definition at line 272 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addHeader(), and EstimatorManagerNew::writeScalarH5().
|
private |
convenient descriptors for hdf5
Definition at line 254 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startDriverRun(), and EstimatorManagerNew::writeScalarH5().
|
private |
hdf5 handler
Definition at line 224 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startDriverRun(), EstimatorManagerNew::stopDriverRun(), EstimatorManagerNew::writeOperatorEstimators(), and EstimatorManagerNew::writeScalarH5().
|
private |
main estimator i.e. some version of a local energy estimator.
Definition at line 248 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addMainEstimator(), EstimatorManagerCrowd::EstimatorManagerCrowd(), EstimatorManagerNew::EstimatorManagerNew(), EstimatorManagerNewTestAccess::getMainEstimator(), EstimatorManagerNew::makeConfigReport(), EstimatorManagerNew::put(), EstimatorManagerNew::reset(), EstimatorManagerNew::startDriverRun(), and EstimatorManagerNewTest::testReplaceMainEstimator().
|
private |
number of maximum data for a scalar.dat
Definition at line 268 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addHeader(), EstimatorManagerNew::EstimatorManagerNew(), EstimatorManagerNew::put(), EstimatorManagerNew::reset(), and EstimatorManagerNew::writeScalarH5().
|
private |
communicator to handle communication
Definition at line 230 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::EstimatorManagerNew(), EstimatorManagerNew::getApproximateEnergyVariance(), EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::reduceOperatorEstimators(), EstimatorManagerNew::startDriverRun(), EstimatorManagerNewTest::testMakeBlockAverages(), and EstimatorManagerNew::writeOperatorEstimators().
|
private |
OperatorEst Observables.
since the operator estimators are also a close set at compile time they could be treated just like the inputs. However the idea of a shared interface is much more straight forward for them.
Definition at line 262 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::areThereListeners(), EstimatorManagerNew::collectOperatorEstimators(), EstimatorManagerNew::createEstimator(), EstimatorManagerCrowd::EstimatorManagerCrowd(), EstimatorManagerNewTest::fakeSomeOperatorEstimatorSamples(), EstimatorManagerNewTest::get_operator_data(), EstimatorManagerNew::getNumEstimators(), EstimatorManagerNew::makeConfigReport(), EstimatorManagerNew::put(), EstimatorManagerNew::reduceOperatorEstimators(), EstimatorManagerNew::startDriverRun(), EstimatorManagerNew::writeOperatorEstimators(), and EstimatorManagerNew::zeroOperatorEstimators().
cached block averages of properties, e.g. BlockCPU
Definition at line 242 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::startDriverRun(), EstimatorManagerNew::stopBlock(), EstimatorManagerNewTest::testMakeBlockAverages(), and EstimatorManagerNew::writeScalarH5().
|
private |
number of records in a block
Definition at line 216 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::startDriverRun(), EstimatorManagerNew::stopBlock(), and EstimatorManagerNew::writeScalarH5().
|
private |
non main scalar estimators collecting simple scalars, are there any? with the removal of collectables these don't seem used or needed.
Definition at line 252 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::addScalarEstimator(), EstimatorManagerNew::collectScalarEstimators(), EstimatorManagerNew::createScalarEstimator(), EstimatorManagerCrowd::EstimatorManagerCrowd(), EstimatorManagerNew::getNumScalarEstimators(), EstimatorManagerNew::makeConfigReport(), EstimatorManagerNew::reset(), and EstimatorManagerNew::startDriverRun().
|
private |
accumulator for the variance
Definition at line 237 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::getApproximateEnergyVariance(), EstimatorManagerNew::makeBlockAverages(), and EstimatorManagerNew::startDriverRun().
|
private |
index for the block weight PropertyCache(weightInd)
Definition at line 218 of file EstimatorManagerNew.h.
Referenced by EstimatorManagerNew::makeBlockAverages(), EstimatorManagerNew::reset(), EstimatorManagerNew::stopBlock(), and EstimatorManagerNewTest::testMakeBlockAverages().