mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-12 20:27:06 +01:00
HMC checkpointing .
Need a general HMC framework to work in restart.
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
#include "Grid.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
using namespace Grid;
|
||||
using namespace Grid::QCD;
|
||||
@ -52,10 +51,12 @@ int main (int argc, char ** argv)
|
||||
IntegratorType MDynamics(UGrid,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorType> HMC(HMCpar, MDynamics,sRNG,pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorType> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve(U);
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -61,10 +61,13 @@ int main (int argc, char ** argv)
|
||||
IntegratorType MDynamics(UGrid,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorType> HMC(HMCpar, MDynamics,sRNG,pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorType> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve(U);
|
||||
HMC.evolve();
|
||||
|
||||
|
||||
}
|
||||
|
@ -56,10 +56,14 @@ int main (int argc, char ** argv)
|
||||
IntegratorParameters MDpar(16);
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -54,10 +54,14 @@ int main (int argc, char ** argv)
|
||||
IntegratorParameters MDpar(20);
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -55,10 +55,14 @@ int main (int argc, char ** argv)
|
||||
IntegratorParameters MDpar(20);
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -51,9 +51,12 @@ int main (int argc, char ** argv)
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -55,9 +55,12 @@ int main (int argc, char ** argv)
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -116,8 +116,9 @@ int main (int argc, char ** argv)
|
||||
|
||||
std::string clone2x3("./ckpoint_clone2x3.4000");
|
||||
std::string clone3x3("./ckpoint_clone3x3.4000");
|
||||
int precision32 = 0;
|
||||
|
||||
int precision32 = 1;
|
||||
int tworow = 1;
|
||||
NerscIO::writeConfiguration(Umu,clone3x3,0,precision32);
|
||||
NerscIO::writeConfiguration(Umu,clone2x3,1,precision32);
|
||||
|
||||
|
@ -56,8 +56,12 @@ int main (int argc, char ** argv)
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
HMC.evolve(U);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -58,9 +58,13 @@ int main (int argc, char ** argv)
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
HMC.evolve(U);
|
||||
|
||||
}
|
||||
|
@ -55,10 +55,14 @@ int main (int argc, char ** argv)
|
||||
IntegratorParameters MDpar(20);
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
@ -58,9 +58,12 @@ int main (int argc, char ** argv)
|
||||
IntegratorAlgorithm MDynamics(&Fine,MDpar, FullSet);
|
||||
|
||||
// Create HMC
|
||||
NerscHmcCheckpointer<LatticeGaugeField> Checkpoint(std::string("ckpoint_lat"),std::string("ckpoint_rng"),1);
|
||||
HMCparameters HMCpar;
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics, sRNG, pRNG);
|
||||
HybridMonteCarlo<LatticeGaugeField,IntegratorAlgorithm> HMC(HMCpar, MDynamics,sRNG,pRNG,U);
|
||||
HMC.AddObservable(&Checkpoint);
|
||||
|
||||
HMC.evolve(U);
|
||||
// Run it
|
||||
HMC.evolve();
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user