13 #ifndef QMCPLUSPLUS_WALKERLOGMANAGER_H 14 #define QMCPLUSPLUS_WALKERLOGMANAGER_H 23 struct WalkerLogInput;
67 std::vector<std::tuple<size_t, WLog::Real, size_t, size_t>>
energy_order;
std::string file_root
file prefix for the current driver
bool write_min_data
whether to write full data for the minimum energy walker at each step
void closeHDFFile()
close the logs file (HDF format)
RefVector< WalkerLogCollector > collectors_in_run_
helper functions for EinsplineSetBuilder
void checkCollectors(const RefVector< WalkerLogCollector > &collectors) const
check consistency of walker buffer row sizes
bool write_med_data
whether to write full data for the median energy walker at each step
bool registered_hdf
whether walker quantity data ("data_layout") has been recorded in HDF
std::vector< std::tuple< size_t, WLog::Real, size_t, size_t > > energy_order
used to sort energy information for identifying walkers by energy quantile
void startRun(RefVector< WalkerLogCollector > &&collectors)
open the logs file and check consistency of the collectors at the start of a run
WalkerLogBuffer< WLog::Int > wmed_property_int_buffer
buffer containing integer properties for the median energy walkers
void stopRun()
close the logs file at the end of a run
bool write_max_data
whether to write full data for the maximum energy walker at each step
void writeBuffersHDF()
write data buffers to the logs file (HDF format)
Driver-level resource for walker log collection.
Wrapping information on parallelism.
void openFile(const RefVector< WalkerLogCollector > &collectors)
open the logs file
void writeBuffers()
collect min/max/median walker data and write buffered walker log data to file
void closeFile()
close the logs file
WalkerLogBuffer< WLog::Real > wmed_property_real_buffer
buffer containing real-valued properties for the median energy walkers
WalkerLogBuffer< WLog::Real > wmax_particle_real_buffer
buffer containing per-particle properties for the maximum energy walkers
WalkerLogState state
output state
std::unique_ptr< hdf_archive > hdf_file
access to HDF file
WalkerLogBuffer< WLog::Real > wmax_property_real_buffer
buffer containing real-valued properties for the maximum energy walkers
WalkerLogBuffer< WLog::Real > wmin_property_real_buffer
buffer containing real-valued properties for the minimum energy walkers
bool write_particle_data
whether to write per-particle data for all walkers
WalkerLogBuffer< WLog::Int > wmax_property_int_buffer
buffer containing integer properties for the maximum energy walkers
WalkerLogBuffer< WLog::Int > wmin_property_int_buffer
buffer containing integer properties for the minimum energy walkers
std::vector< std::reference_wrapper< T > > RefVector
WalkerLogBuffer< WLog::Real > wmin_particle_real_buffer
buffer containing per-particle properties for the minimum energy walkers
WalkerLogBuffer< WLog::Real > wmed_particle_real_buffer
buffer containing per-particle properties for the median energy walkers
Helper struct holding data transferred from WalkerLogManager to WalkerLogCollector following input re...
void openHDFFile(const RefVector< WalkerLogCollector > &collectors)
open the logs file (HDF format)
Communicate * communicator
WalkerLogManager(WalkerLogInput &inp, bool allow_logs, std::string series_root, Communicate *comm=0)
std::unique_ptr< WalkerLogCollector > makeCollector() const
create a WalkerLogCollector
Native representation for walker logs input.