mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-04 05:54:32 +00:00 
			
		
		
		
	Update from HDCR tuning
This commit is contained in:
		@@ -42,6 +42,8 @@ public:
 | 
			
		||||
			  int, domaindecompose,
 | 
			
		||||
			  int, domainsize,
 | 
			
		||||
			  int, order,
 | 
			
		||||
			  int, Ls,
 | 
			
		||||
			  double, mq,
 | 
			
		||||
			  double, lo,
 | 
			
		||||
			  double, hi,
 | 
			
		||||
			  int, steps);
 | 
			
		||||
@@ -327,7 +329,7 @@ public:
 | 
			
		||||
    CoarseVector Ctmp(_CoarseOperator.Grid());
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
    HermitianLinearOperator<CoarseOperator,CoarseVector>  HermOp(_CoarseOperator);
 | 
			
		||||
@@ -474,7 +476,7 @@ int main (int argc, char ** argv)
 | 
			
		||||
  read(RD,"params",params);
 | 
			
		||||
  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());
 | 
			
		||||
  GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid);
 | 
			
		||||
@@ -536,7 +538,7 @@ int main (int argc, char ** argv)
 | 
			
		||||
  //  SU3::HotConfiguration(RNG4,Umu);
 | 
			
		||||
  //  Umu=zero;
 | 
			
		||||
 | 
			
		||||
  RealD mass=0.001;
 | 
			
		||||
  RealD mass=params.mq;
 | 
			
		||||
  RealD M5=1.8;
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
@@ -594,7 +596,7 @@ int main (int argc, char ** argv)
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  MdagMLinearOperator<CoarseOperator,CoarseVector> PosdefLdop(LDOp);
 | 
			
		||||
  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 << "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 << "Testing smoother efficacy"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  Precon.SmootherTest(src);
 | 
			
		||||
  //  Precon.SmootherTest(src);
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Testing DD smoother efficacy"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  PreconDD.SmootherTest(src);
 | 
			
		||||
  //  PreconDD.SmootherTest(src);
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Testing SAP smoother efficacy"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  PreconDD.SAP(src,result);
 | 
			
		||||
  //  PreconDD.SAP(src,result);
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< 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 << "Building a two level DDPGCR "<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  PrecGeneralisedConjugateResidual<LatticeFermion> PGCRDD(1.0e-8,100000,PreconDD,8,128);
 | 
			
		||||
  result=zero;
 | 
			
		||||
  std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
 | 
			
		||||
  PGCRDD(HermIndefOp,src,result);
 | 
			
		||||
  //  PrecGeneralisedConjugateResidual<LatticeFermion> PGCRDD(1.0e-8,100000,PreconDD,8,128);
 | 
			
		||||
  //  result=zero;
 | 
			
		||||
  //  std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
 | 
			
		||||
  //  PGCRDD(HermIndefOp,src,result);
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Building a two level PGCR "<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  //  PrecGeneralisedConjugateResidual<LatticeFermion> PGCR(1.0e-8,100000,Precon,8,128);
 | 
			
		||||
  //  std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
 | 
			
		||||
  //  result=zero;
 | 
			
		||||
  //  PGCR(HermIndefOp,src,result);
 | 
			
		||||
  PrecGeneralisedConjugateResidual<LatticeFermion> PGCR(1.0e-8,100000,Precon,8,8);
 | 
			
		||||
  std::cout<<GridLogMessage<<"checking norm src "<<norm2(src)<<std::endl;
 | 
			
		||||
  result=zero;
 | 
			
		||||
  PGCR(HermIndefOp,src,result);
 | 
			
		||||
 | 
			
		||||
  std::cout<<GridLogMessage << "**************************************************"<< std::endl;
 | 
			
		||||
  std::cout<<GridLogMessage << "Red Black Prec CG "<< std::endl;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user