22 namespace LinOpSysSolverQUDAMULTIGRIDWilsonEnv
39 Handle<
FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > >
state,
60 LinOpSysSolverQUDAMULTIGRIDWilson::qudaInvert(
const T& chi_s,
63 SystemSolverResults_t ret;
73 mod_chi[rb[0]] =
zero;
74 mod_chi[rb[1]] = chi_s;
76 if( invParam.asymmetricP ) {
84 auto wlparams = invParam.WilsonParams;
86 auto aniso = wlparams.anisoParam;
88 Real ff = where(aniso.anisoP, Real(1) / aniso.xi_0, Real(1));
89 diag_mass = 1 + (
Nd-1)*ff + wlparams.Mass;
92 mod_chi[rb[1]] /= diag_mass;
96 #ifndef BUILD_QUDA_DEVIFACE_SPINOR
97 void *spinorIn =(
void *)&(mod_chi.elem(rb[1].start()).elem(0).elem(0).real());
98 void* spinorOut =(
void *)&(psi_s.elem(rb[1].start()).elem(0).elem(0).real());
106 GetMemoryPtr2(spinorIn,spinorOut,mod_chi.getId(),psi_s.getId());
113 invertQuda(spinorOut, spinorIn, (QudaInvertParam*)&quda_inv_param);
117 QDPIO::cout <<
"QUDA_MULTIGRID_"<<solver_string<<
"_WILSON_SOLVER: time="<< quda_inv_param.secs <<
" s" ;
118 QDPIO::cout <<
"\tPerformance="<< quda_inv_param.gflops/quda_inv_param.secs<<
" GFLOPS" ;
119 QDPIO::cout <<
"\tTotal Time (incl. load gauge)=" << swatch1.getTimeInSeconds() <<
" s"<<std::endl;
121 ret.n_count =quda_inv_param.iter;
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Class for counted reference semantics.
Wilson Dslash linear operator.
static bool registered
Local registration flag.
const std::string name
Name to be used.
bool registerAll()
Register all the factories.
LinOpSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperator< LatticeFermion > > A)
Asqtad Staggered-Dirac operator.
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Periodic ferm state and a creator.
Register linop system solvers that solve M*psi=chi.
Factory for solving M*psi=chi where M is not hermitian or pos. def.