7template <
typename group>
17 outf.open(
"run_status", std::ios::out | std::ios::trunc);
18 outf <<
"iteration " << iteration + 1 <<
'\n';
19 outf <<
"seed " <<
static_cast<uint64_t
>(
hila::random() * (1UL << 61)) <<
'\n';
24 std::stringstream msg;
26 hila::timestamp(msg.str().c_str());
29template <
typename group>
37 if (status.
open(
"run_status",
false,
false)) {
41 trajectory = status.
get(
"iteration");
42 seed = status.
get(
"seed");
43 p.time_offset = status.
get(
"time");
48 U.config_read(p.config_file);
54 in.open(p.config_file, std::ios::in | std::ios::binary);
61 U.config_read(p.config_file);
void config_write(const std::string &filename) const
config_write writes the gauge field to file, with additional "verifying" header
double random()
Real valued uniform random number generator.
int myrank()
rank of this node
std::ostream out0
This writes output only from main process (node 0)
void seed_random(uint64_t seed, bool device_rng=true)
Seed random generators with 64-bit unsigned value. On MPI shuffles the seed so that different MPI ran...