From 701991629430c341e623b4d1a174067c1766a201 Mon Sep 17 00:00:00 2001 From: Peter Boyle Date: Wed, 7 Feb 2024 00:56:39 +0000 Subject: [PATCH] RNG seed change safer for large volumes; this is a long term solution --- Grid/lattice/Lattice_rng.h | 10 ++- Grid/sitmo_rng/sitmo_prng_engine.hpp | 6 +- systems/Aurora/benchmarks/bench.pbs | 51 --------------- systems/Aurora/benchmarks/bench2.pbs | 95 ---------------------------- 4 files changed, 12 insertions(+), 150 deletions(-) delete mode 100644 systems/Aurora/benchmarks/bench.pbs delete mode 100644 systems/Aurora/benchmarks/bench2.pbs diff --git a/Grid/lattice/Lattice_rng.h b/Grid/lattice/Lattice_rng.h index b7ef0e82..2212abbe 100644 --- a/Grid/lattice/Lattice_rng.h +++ b/Grid/lattice/Lattice_rng.h @@ -152,6 +152,7 @@ public: #ifdef RNG_FAST_DISCARD static void Skip(RngEngine &eng,uint64_t site) { +#if 0 ///////////////////////////////////////////////////////////////////////////////////// // Skip by 2^40 elements between successive lattice sites // This goes by 10^12. @@ -162,9 +163,9 @@ public: // tens of seconds per trajectory so this is clean in all reasonable cases, // and margin of safety is orders of magnitude. // We could hack Sitmo to skip in the higher order words of state if necessary - // - // Replace with 2^30 ; avoid problem on large volumes - // + // + // Replace with 2^30 ; avoid problem on large volumes + // ///////////////////////////////////////////////////////////////////////////////////// // uint64_t skip = site+1; // Old init Skipped then drew. Checked compat with faster init const int shift = 30; @@ -179,6 +180,9 @@ public: assert((skip >> shift)==site); // check for overflow eng.discard(skip); +#else + eng.discardhi(site); +#endif // std::cout << " Engine " <