29#ifndef NERSC_CHECKPOINTER
30#define NERSC_CHECKPOINTER
52 Params.format =
"IEEE64BIG";
60 if ((traj %
Params.saveInterval) == 0) {
61 std::string config, rng, smr;
68 if (
Params.saveSmeared ) {
76 std::string config, rng, smr;
#define NAMESPACE_BEGIN(A)
static INTERNAL_PRECISION U
void build_filenames(int traj, CheckpointerParameters &Params, std::string &conf_file, std::string &smear_file, std::string &rng_file)
void check_filename(const std::string &filename)
Base class for "smart configuration", a container for a gauge configuration holding unsmeared and sme...
virtual Field & get_U(bool smeared=false)=0
GaugeStatistics< Gimpl > GaugeStats
CheckpointerParameters Params
void initialize(const CheckpointerParameters &Params_)
virtual void TrajectoryComplete(int traj, ConfigurationBase< GaugeField > &SmartConfig, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
void CheckpointRestore(int traj, GaugeField &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
INHERIT_GIMPL_TYPES(Gimpl)
NerscHmcCheckpointer(const CheckpointerParameters &Params_)
static void readRNGState(GridSerialRNG &serial, GridParallelRNG ¶llel, FieldMetaData &header, std::string file)
static void readConfiguration(GaugeField &Umu, FieldMetaData &header, std::string file, GaugeStats GaugeStatisticsCalculator=GaugeStats())
static void writeRNGState(GridSerialRNG &serial, GridParallelRNG ¶llel, std::string file)
static void writeConfiguration(Lattice< vLorentzColourMatrixD > &Umu, std::string file, std::string ens_label=std::string("DWF"), std::string ens_id=std::string("UKQCD"), unsigned int sequence_number=1)