QUDA
1.0.0
|
Public Member Functions | |
virtual __device__ __host__ void | pre () |
pre-computation routine called before the "M-loop" More... | |
virtual __device__ __host__ __host__ void | operator() (ReduceType &sum, FloatN &x, FloatN &y, FloatN &z, FloatN &w, FloatN &v)=0 |
where the reduction is usually computed and any auxiliary operations More... | |
virtual __device__ __host__ void | post (ReduceType &sum) |
post-computation routine called after the "M-loop" More... | |
Base class from which all reduction functors should derive.
Definition at line 83 of file reduce_core.cuh.
|
pure virtual |
where the reduction is usually computed and any auxiliary operations
Implemented in quda::blas::doubleCG3UpdateNorm_< ReduceType, Float2, FloatN >, quda::blas::doubleCG3InitNorm_< ReduceType, Float2, FloatN >, quda::blas::quadrupleCG3UpdateNorm_< ReduceType, Float2, FloatN >, quda::blas::quadrupleCG3InitNorm_< ReduceType, Float2, FloatN >, quda::blas::quadrupleCGReduction_< ReduceType, Float2, FloatN >, quda::blas::tripleCGReduction_< ReduceType, Float2, FloatN >, quda::blas::xpyHeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >, quda::blas::HeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >, quda::blas::axpyCGNorm2< ReduceType, Float2, FloatN >, quda::blas::caxpbypzYmbwcDotProductUYNormY_< ReduceType, Float2, FloatN >, quda::blas::CdotNormA< ReduceType, Float2, FloatN >, quda::blas::caxpydotzy< ReduceType, Float2, FloatN >, quda::blas::Cdot< NXZ, ReduceType, Float2, FloatN >, quda::blas::cabxpyzaxnorm< ReduceType, Float2, FloatN >, quda::blas::caxpyxmaznormx< ReduceType, Float2, FloatN >, quda::blas::caxpyNorm2< ReduceType, Float2, FloatN >, quda::blas::AxpyReDot< ReduceType, Float2, FloatN >, quda::blas::axpbyzNorm2< ReduceType, Float2, FloatN >, quda::blas::Dot< NXZ, ReduceType, Float2, FloatN >, quda::blas::Norm2< ReduceType, Float2, FloatN >, and quda::blas::Norm1< ReduceType, Float2, FloatN >.
|
inlinevirtual |
post-computation routine called after the "M-loop"
Reimplemented in quda::blas::xpyHeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >, and quda::blas::HeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >.
Definition at line 94 of file reduce_core.cuh.
|
inlinevirtual |
pre-computation routine called before the "M-loop"
Reimplemented in quda::blas::xpyHeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >, and quda::blas::HeavyQuarkResidualNorm_< ReduceType, Float2, FloatN >.
Definition at line 86 of file reduce_core.cuh.
References quda::sum().