mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-04 19:25:56 +01:00
Update from HDCR tuning
This commit is contained in:
parent
60d4564151
commit
a155a362da
@ -42,6 +42,8 @@ public:
|
|||||||
int, domaindecompose,
|
int, domaindecompose,
|
||||||
int, domainsize,
|
int, domainsize,
|
||||||
int, order,
|
int, order,
|
||||||
|
int, Ls,
|
||||||
|
double, mq,
|
||||||
double, lo,
|
double, lo,
|
||||||
double, hi,
|
double, hi,
|
||||||
int, steps);
|
int, steps);
|
||||||
@ -327,7 +329,7 @@ public:
|
|||||||
CoarseVector Ctmp(_CoarseOperator.Grid());
|
CoarseVector Ctmp(_CoarseOperator.Grid());
|
||||||
CoarseVector Csol(_CoarseOperator.Grid()); Csol=zero;
|
CoarseVector Csol(_CoarseOperator.Grid()); Csol=zero;
|
||||||
|
|
||||||
ConjugateGradient<CoarseVector> CG(1.0e-2,100000);
|
ConjugateGradient<CoarseVector> CG(1.0e-4,100000);
|
||||||
// ConjugateGradient<FineField> fCG(3.0e-2,1000);
|
// ConjugateGradient<FineField> fCG(3.0e-2,1000);
|
||||||
|
|
||||||
HermitianLinearOperator<CoarseOperator,CoarseVector> HermOp(_CoarseOperator);
|
HermitianLinearOperator<CoarseOperator,CoarseVector> HermOp(_CoarseOperator);
|
||||||
@ -474,7 +476,7 @@ int main (int argc, char ** argv)
|
|||||||
read(RD,"params",params);
|
read(RD,"params",params);
|
||||||
std::cout<<"Params: Order "<<params.order<<"["<<params.lo<<","<<params.hi<<"]"<< " steps "<<params.steps<<std::endl;
|
std::cout<<"Params: Order "<<params.order<<"["<<params.lo<<","<<params.hi<<"]"<< " steps "<<params.steps<<std::endl;
|
||||||
|
|
||||||
const int Ls=16;
|
const int Ls=params.Ls;
|
||||||
|
|
||||||
GridCartesian * UGrid = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
|
GridCartesian * UGrid = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,vComplex::Nsimd()),GridDefaultMpi());
|
||||||
GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
|
GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
|
||||||
@ -536,7 +538,7 @@ int main (int argc, char ** argv)
|
|||||||
// SU3::HotConfiguration(RNG4,Umu);
|
// SU3::HotConfiguration(RNG4,Umu);
|
||||||
// Umu=zero;
|
// Umu=zero;
|
||||||
|
|
||||||
RealD mass=0.001;
|
RealD mass=params.mq;
|
||||||
RealD M5=1.8;
|
RealD M5=1.8;
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
@ -594,7 +596,7 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
MdagMLinearOperator<CoarseOperator,CoarseVector> PosdefLdop(LDOp);
|
MdagMLinearOperator<CoarseOperator,CoarseVector> PosdefLdop(LDOp);
|
||||||
ConjugateGradient<CoarseVector> CG(1.0e-6,100000);
|
ConjugateGradient<CoarseVector> CG(1.0e-6,100000);
|
||||||
CG(PosdefLdop,c_src,c_res);
|
// CG(PosdefLdop,c_src,c_res);
|
||||||
|
|
||||||
// std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
// std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
// std::cout<<GridLogMessage << "Solving indef-MCR on coarse space "<< std::endl;
|
// std::cout<<GridLogMessage << "Solving indef-MCR on coarse space "<< std::endl;
|
||||||
@ -619,17 +621,17 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Testing smoother efficacy"<< std::endl;
|
std::cout<<GridLogMessage << "Testing smoother efficacy"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
Precon.SmootherTest(src);
|
// Precon.SmootherTest(src);
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Testing DD smoother efficacy"<< std::endl;
|
std::cout<<GridLogMessage << "Testing DD smoother efficacy"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
PreconDD.SmootherTest(src);
|
// PreconDD.SmootherTest(src);
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Testing SAP smoother efficacy"<< std::endl;
|
std::cout<<GridLogMessage << "Testing SAP smoother efficacy"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
PreconDD.SAP(src,result);
|
// PreconDD.SAP(src,result);
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Unprec CG "<< std::endl;
|
std::cout<<GridLogMessage << "Unprec CG "<< std::endl;
|
||||||
@ -657,18 +659,18 @@ int main (int argc, char ** argv)
|
|||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Building a two level DDPGCR "<< std::endl;
|
std::cout<<GridLogMessage << "Building a two level DDPGCR "<< std::endl;
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
PrecGeneralisedConjugateResidual<LatticeFermion> PGCRDD(1.0e-8,100000,PreconDD,8,128);
|
// PrecGeneralisedConjugateResidual<LatticeFermion> PGCRDD(1.0e-8,100000,PreconDD,8,128);
|
||||||
result=zero;
|
// result=zero;
|
||||||
std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
|
// std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
|
||||||
PGCRDD(HermIndefOp,src,result);
|
// PGCRDD(HermIndefOp,src,result);
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Building a two level PGCR "<< std::endl;
|
std::cout<<GridLogMessage << "Building a two level PGCR "<< std::endl;
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
// PrecGeneralisedConjugateResidual<LatticeFermion> PGCR(1.0e-8,100000,Precon,8,128);
|
PrecGeneralisedConjugateResidual<LatticeFermion> PGCR(1.0e-8,100000,Precon,8,8);
|
||||||
// std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
|
std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
|
||||||
// result=zero;
|
result=zero;
|
||||||
// PGCR(HermIndefOp,src,result);
|
PGCR(HermIndefOp,src,result);
|
||||||
|
|
||||||
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
std::cout<<GridLogMessage << "**************************************************"<< std::endl;
|
||||||
std::cout<<GridLogMessage << "Red Black Prec CG "<< std::endl;
|
std::cout<<GridLogMessage << "Red Black Prec CG "<< std::endl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user