23 namespace LinOpSysSolverQUDAMULTIGRIDCloverEnv
40 Handle<
FermState< LatticeFermion, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > >
state,
61 LinOpSysSolverQUDAMULTIGRIDClover::qudaInvert(
const CloverTermT<T, U>& clover,
62 const CloverTermT<T, U>& invclov,
66 SystemSolverResults_t ret;
71 mod_chi[rb[0]] =
zero;
74 if( invParam.asymmetricP ) {
83 invclov.apply(mod_chi, chi_s,
PLUS, 1);
86 mod_chi[rb[1]] = chi_s;
89 #ifndef BUILD_QUDA_DEVIFACE_SPINOR
90 void* spinorIn =(
void *)&(mod_chi.elem(rb[1].start()).elem(0).elem(0).real());
91 void* spinorOut =(
void *)&(psi_s.elem(rb[1].start()).elem(0).elem(0).real());
97 GetMemoryPtr2(spinorIn,spinorOut,mod_chi.getId(),psi_s.getId())
105 invertQuda(spinorOut, spinorIn, (QudaInvertParam*)&quda_inv_param);
109 QDPIO::cout << solver_string<<
"time="<< quda_inv_param.secs <<
" s" ;
110 QDPIO::cout <<
"\tPerformance="<< quda_inv_param.gflops/quda_inv_param.secs<<
" GFLOPS" ;
111 QDPIO::cout <<
"\tTotal Time (incl. load gauge)=" << swatch1.getTimeInSeconds() <<
" s"<<std::endl;
113 ret.n_count =quda_inv_param.iter;
114 ret.resid = quda_inv_param.true_res;
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.
LinOpSystemSolver< LatticeFermion > * createFerm(XMLReader &xml_in, const std::string &path, Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > state, Handle< LinearOperator< LatticeFermion > > A)
bool registerAll()
Register all the factories.
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.