1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-14 01:35:36 +00:00

SITMO I/O for NERSC working now bit repro

This commit is contained in:
paboyle 2017-05-05 16:54:44 +01:00
parent 14bedebb11
commit 697c0603ce
24 changed files with 33 additions and 29 deletions

View File

@ -158,7 +158,7 @@ namespace Grid {
#ifdef RNG_SITMO #ifdef RNG_SITMO
typedef sitmo::prng_engine RngEngine; typedef sitmo::prng_engine RngEngine;
typedef uint64_t RngStateType; typedef uint64_t RngStateType;
static const int RngStateCount = 4; static const int RngStateCount = 13;
#endif #endif
std::vector<RngEngine> _generators; std::vector<RngEngine> _generators;

View File

@ -41,7 +41,7 @@ int main (int argc, char ** argv)
std::vector<int> simd_layout = GridDefaultSimd(4,vComplex::Nsimd()); std::vector<int> simd_layout = GridDefaultSimd(4,vComplex::Nsimd());
std::vector<int> mpi_layout = GridDefaultMpi(); std::vector<int> mpi_layout = GridDefaultMpi();
std::vector<int> latt_size ({32,32,32,32}); std::vector<int> latt_size ({16,16,16,16});
std::vector<int> clatt_size ({4,4,4,8}); std::vector<int> clatt_size ({4,4,4,8});
int orthodir=3; int orthodir=3;
int orthosz =latt_size[orthodir]; int orthosz =latt_size[orthodir];
@ -54,8 +54,8 @@ int main (int argc, char ** argv)
GridSerialRNG sRNGa; GridSerialRNG sRNGa;
GridSerialRNG sRNGb; GridSerialRNG sRNGb;
pRNGa.SeedFixedIntegers(std::vector<int>({45,12,81,9}); pRNGa.SeedFixedIntegers(std::vector<int>({45,12,81,9}));
sRNGa.SeedFixedIntegers(std::vector<int>({45,12,81,9}); sRNGa.SeedFixedIntegers(std::vector<int>({45,12,81,9}));
std::string rfile("./ckpoint_rng.4000"); std::string rfile("./ckpoint_rng.4000");
NerscIO::writeRNGState(sRNGa,pRNGa,rfile); NerscIO::writeRNGState(sRNGa,pRNGa,rfile);
@ -80,8 +80,14 @@ int main (int argc, char ** argv)
std::vector<LatticeColourMatrix> U(4,&Fine); std::vector<LatticeColourMatrix> U(4,&Fine);
SU3::ColdConfiguration(pRNGa,Umu);
NerscField header; NerscField header;
std::string file("./ckpoint_lat.4000"); std::string file("./ckpoint_lat.4000");
int precision32 = 0;
int tworow = 0;
NerscIO::writeConfiguration(Umu,file,tworow,precision32);
NerscIO::readConfiguration(Umu,header,file); NerscIO::readConfiguration(Umu,header,file);
for(int mu=0;mu<Nd;mu++){ for(int mu=0;mu<Nd;mu++){
@ -147,8 +153,6 @@ int main (int argc, char ** argv)
std::string clone2x3("./ckpoint_clone2x3.4000"); std::string clone2x3("./ckpoint_clone2x3.4000");
std::string clone3x3("./ckpoint_clone3x3.4000"); std::string clone3x3("./ckpoint_clone3x3.4000");
int precision32 = 1;
int tworow = 1;
NerscIO::writeConfiguration(Umu,clone3x3,0,precision32); NerscIO::writeConfiguration(Umu,clone3x3,0,precision32);
NerscIO::writeConfiguration(Umu,clone2x3,1,precision32); NerscIO::writeConfiguration(Umu,clone2x3,1,precision32);

View File

@ -1,4 +1,4 @@
SUBDIRS = core forces hmc solver debug smearing SUBDIRS = core forces hmc solver debug smearing IO
if BUILD_CHROMA_REGRESSION if BUILD_CHROMA_REGRESSION
SUBDIRS+= qdpxx SUBDIRS+= qdpxx

View File

@ -63,7 +63,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -65,7 +65,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -130,7 +130,7 @@ int main(int argc, char **argv) {
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
*/ */
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
// RNG definition (Name: RandomNumberGenerator) // RNG definition (Name: RandomNumberGenerator)
RNGModuleParameters RNGpar(Reader); RNGModuleParameters RNGpar(Reader);

View File

@ -60,7 +60,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -61,7 +61,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -54,7 +54,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 20; CPparams.saveInterval = 20;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -55,7 +55,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 20; CPparams.saveInterval = 20;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -65,7 +65,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -51,10 +51,10 @@ int main(int argc, char **argv) {
CheckpointerParameters CPparams; CheckpointerParameters CPparams;
CPparams.config_prefix = "ckpoint_lat"; CPparams.config_prefix = "ckpoint_lat";
CPparams.rng_prefix = "ckpoint_rng"; CPparams.rng_prefix = "ckpoint_rng";
CPparams.saveInterval = 20; CPparams.saveInterval = 1;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -74,7 +74,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -61,7 +61,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -64,7 +64,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -61,7 +61,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -62,7 +62,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";

View File

@ -61,7 +61,7 @@ int main(int argc, char **argv) {
CPparams.saveInterval = 5; CPparams.saveInterval = 5;
CPparams.format = "IEEE64BIG"; CPparams.format = "IEEE64BIG";
TheHMC.Resources.LoadBinaryCheckpointer(CPparams); TheHMC.Resources.LoadNerscCheckpointer(CPparams);
RNGModuleParameters RNGpar; RNGModuleParameters RNGpar;
RNGpar.serial_seeds = "1 2 3 4 5"; RNGpar.serial_seeds = "1 2 3 4 5";