diff --git a/benchmarks/Benchmark_dwf_fp32.cc b/benchmarks/Benchmark_dwf_fp32.cc index ce4fcfab..ab5a5e9e 100644 --- a/benchmarks/Benchmark_dwf_fp32.cc +++ b/benchmarks/Benchmark_dwf_fp32.cc @@ -43,7 +43,7 @@ Gamma::Algebra Gmu [] = { Gamma::Algebra::GammaT }; -void Benchmark(int Ls, Coordinate Dirichlet); +void Benchmark(int Ls, Coordinate Dirichlet,bool Sloppy); int main (int argc, char ** argv) { @@ -69,7 +69,14 @@ int main (int argc, char ** argv) std::cout << GridLogMessage<< " Testing with full communication " <1 ? 1 : 0; - // Dirichlet[0] = 0; - // Dirichlet[1] = CommDim[0]*latt4[0]/mpi[0] * shm[0]; - // Dirichlet[2] = CommDim[1]*latt4[1]/mpi[1] * shm[1]; - // Dirichlet[3] = CommDim[2]*latt4[2]/mpi[2] * shm[2]; - // Dirichlet[4] = CommDim[3]*latt4[3]/mpi[3] * shm[3]; + Dirichlet[0] = 0; + Dirichlet[1] = CommDim[0]*latt4[0]/mpi[0] * shm[0]; + Dirichlet[2] = CommDim[1]*latt4[1]/mpi[1] * shm[1]; + Dirichlet[3] = CommDim[2]*latt4[2]/mpi[2] * shm[2]; + Dirichlet[4] = CommDim[3]*latt4[3]/mpi[3] * shm[3]; - Benchmark(Ls,Dirichlet); + Benchmark(Ls,Dirichlet,false); std::cout << "\n\n\n\n\n\n" <1 ? 1 : 0; - // Dirichlet[0] = 0; - // Dirichlet[1] = CommDim[0]*latt4[0]/mpi[0]; - // Dirichlet[2] = CommDim[1]*latt4[1]/mpi[1]; - // Dirichlet[3] = CommDim[2]*latt4[2]/mpi[2]; - // Dirichlet[4] = CommDim[3]*latt4[3]/mpi[3]; - Benchmark(Ls,Dirichlet); + Benchmark(Ls,Dirichlet,true); Grid_finalize(); exit(0); } -void Benchmark(int Ls, Coordinate Dirichlet) +void Benchmark(int Ls, Coordinate Dirichlet,bool sloppy) { Coordinate latt4 = GridDefaultLatt(); GridLogLayout(); @@ -132,21 +134,13 @@ void Benchmark(int Ls, Coordinate Dirichlet) typedef LatticeGaugeFieldF GaugeField; typedef LatticeColourMatrixF ColourMatrixField; typedef DomainWallFermionF FermionAction; -#endif -#ifdef DOUBLE +#else typedef vComplexD Simd; typedef LatticeFermionD FermionField; typedef LatticeGaugeFieldD GaugeField; typedef LatticeColourMatrixD ColourMatrixField; typedef DomainWallFermionD FermionAction; #endif -#ifdef DOUBLE2 - typedef vComplexD2 Simd; - typedef LatticeFermionD2 FermionField; - typedef LatticeGaugeFieldD2 GaugeField; - typedef LatticeColourMatrixD2 ColourMatrixField; - typedef DomainWallFermionD2 FermionAction; -#endif GridCartesian * UGrid = SpaceTimeGrid::makeFourDimGrid(GridDefaultLatt(), GridDefaultSimd(Nd,Simd::Nsimd()),GridDefaultMpi()); GridRedBlackCartesian * UrbGrid = SpaceTimeGrid::makeFourDimRedBlackGrid(UGrid); @@ -269,6 +263,7 @@ void Benchmark(int Ls, Coordinate Dirichlet) FermionAction::ImplParams p; p.dirichlet=Dirichlet; FermionAction Dw(Umu,*FGrid,*FrbGrid,*UGrid,*UrbGrid,mass,M5,p); + Dw.SloppyComms(sloppy); Dw.ImportGauge(Umu); int ncall =300;