63 printfQuda(
"Steepest Descent: %d iterations, |r| = %e, |r|/|b| = %e\n", k,
sqrt(r2),
sqrt(r2/b2));
76 printfQuda(
"Steepest Descent: %d iterations, |r| = %e, |r|/|b| = %e\n", k,
sqrt(r2),
sqrt(r2/b2));
84 printfQuda(
"Steepest Descent: %d iterations, accumulated |r| = %e, true |r| = %e, |r|/|b| = %e\n", k,
sqrt(r2),
sqrt(true_r2),
sqrt(true_r2/b2));
bool global_reduction
whether the solver acting as a preconditioner for another solver
double3 cDotProductNormA(ColorSpinorField &a, ColorSpinorField &b)
QudaVerbosity getVerbosity()
__host__ __device__ ValueType sqrt(ValueType x)
double xmyNorm(ColorSpinorField &x, ColorSpinorField &y)
void operator()(ColorSpinorField &out, ColorSpinorField &in)
double norm2(const CloverField &a, bool inverse=false)
bool is_preconditioner
verbosity to use for preconditioner
cudaColorSpinorField * Ar
SD(DiracMatrix &mat, SolverParam ¶m, TimeProfile &profile)
__device__ void axpy(real a, const real *x, Link &y)
void mat(void *out, void **link, void *in, int dagger_bit, int mu, QudaPrecision sPrecision, QudaPrecision gPrecision)
__device__ __host__ void zero(vector_type< scalar, n > &v)
void commGlobalReductionSet(bool global_reduce)