29#ifndef BINARY_CHECKPOINTER
30#define BINARY_CHECKPOINTER
48 typedef typename Field::vector_object
vobj;
49 typedef typename vobj::scalar_object
sobj;
60 std::ofstream fout(file, std::ios::out);
69 if ((traj %
Params.saveInterval) == 0) {
70 std::string config, rng, smr;
74 uint32_t scidac_csuma;
75 uint32_t scidac_csumb;
81 <<
" checksum " << std::hex
85 << std::dec << std::endl;
89 nersc_csum,scidac_csuma,scidac_csumb);
91 std::cout <<
GridLogMessage <<
"Written Binary Configuration " << config
92 <<
" checksum " << std::hex
96 << std::dec << std::endl;
98 if (
Params.saveSmeared ) {
101 nersc_csum,scidac_csuma,scidac_csumb);
102 std::cout <<
GridLogMessage <<
"Written Binary Smeared Configuration " << smr
103 <<
" checksum " << std::hex
105 << scidac_csuma <<
"/"
107 << std::dec << std::endl;
114 std::string config, rng, smr;
123 uint32_t scidac_csuma;
124 uint32_t scidac_csumb;
127 nersc_csum,scidac_csuma,scidac_csumb);
129 std::cout <<
GridLogMessage <<
"Read Binary Configuration " << config
130 <<
" checksums " << std::hex << nersc_csum<<
"/"<<scidac_csuma<<
"/"<<scidac_csumb
131 << std::dec << std::endl;
GridLogger GridLogMessage(1, "Message", GridLogColours, "NORMAL")
#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)
BinaryHmcCheckpointer(const CheckpointerParameters &Params_)
Field::vector_object vobj
CheckpointerParameters Params
void truncate(std::string file)
void TrajectoryComplete(int traj, ConfigurationBase< Field > &SmartConfig, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
void CheckpointRestore(int traj, Field &U, GridSerialRNG &sRNG, GridParallelRNG &pRNG)
INHERIT_FIELD_TYPES(Impl)
getPrecision< sobj >::real_scalar_type sobj_stype
sobj::DoublePrecision sobj_double
void initialize(const CheckpointerParameters &Params_)
static void readRNG(GridSerialRNG &serial_rng, GridParallelRNG ¶llel_rng, std::string file, uint64_t offset, uint32_t &nersc_csum, uint32_t &scidac_csuma, uint32_t &scidac_csumb)
static void writeRNG(GridSerialRNG &serial_rng, GridParallelRNG ¶llel_rng, std::string file, uint64_t offset, uint32_t &nersc_csum, uint32_t &scidac_csuma, uint32_t &scidac_csumb)
static void writeLatticeObject(Lattice< vobj > &Umu, std::string file, munger munge, uint64_t offset, const std::string &format, uint32_t &nersc_csum, uint32_t &scidac_csuma, uint32_t &scidac_csumb, int control=BINARYIO_LEXICOGRAPHIC)
static void readLatticeObject(Lattice< vobj > &Umu, std::string file, munger munge, uint64_t offset, const std::string &format, uint32_t &nersc_csum, uint32_t &scidac_csuma, uint32_t &scidac_csumb, int control=BINARYIO_LEXICOGRAPHIC)
Base class for "smart configuration", a container for a gauge configuration holding unsmeared and sme...
virtual Field & get_U(bool smeared=false)=0
GridTypeMapper< scalar_type >::Realified real_scalar_type