QUDA  0.9.0
Classes | Namespaces | Enumerations | Functions | Variables
coarse_op.cuh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  quda::CalculateYArg< Float, coarseGauge, fineGauge, fineSpinor, fineSpinorTmp, fineClover >
 
class  quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >
 
struct  quda::CalculateYhatArg< Flloat, Gauge, n >
 
class  quda::CalculateYhat< Float, n, Arg >
 

Namespaces

 quda
 

Enumerations

enum  quda::ComputeType {
  quda::COMPUTE_UV, quda::COMPUTE_AV, quda::COMPUTE_TMAV, quda::COMPUTE_TMCAV,
  quda::COMPUTE_VUV, quda::COMPUTE_COARSE_CLOVER, quda::COMPUTE_REVERSE_Y, quda::COMPUTE_COARSE_LOCAL,
  quda::COMPUTE_DIAGONAL, quda::COMPUTE_TMDIAGONAL, quda::COMPUTE_INVALID
}
 

Functions

template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
__device__ __host__ void quda::computeUV (Arg &arg, int parity, int x_cb, int ic_c)
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
void quda::ComputeUVCPU (Arg &arg)
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
__global__ void quda::ComputeUVGPU (Arg arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__device__ __host__ void quda::computeAV (Arg &arg, int parity, int x_cb, int ic_c)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
void quda::ComputeAVCPU (Arg &arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__global__ void quda::ComputeAVGPU (Arg arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__device__ __host__ void quda::computeTMAV (Arg &arg, int parity, int x_cb, int v)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
void quda::ComputeTMAVCPU (Arg &arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__global__ void quda::ComputeTMAVGPU (Arg arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__device__ __host__ void quda::computeTMCAV (Arg &arg, int parity, int x_cb)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
void quda::ComputeTMCAVCPU (Arg &arg)
 
template<typename Float , int fineSpin, int fineColor, int coarseColor, typename Arg >
__global__ void quda::ComputeTMCAVGPU (Arg arg)
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
__device__ __host__ void quda::multiplyVUV (complex< Float > vuv[], Arg &arg, int parity, int x_cb, int ic_c)
 Do a single (AV)^ * UV product, where for preconditioned clover, AV correspond to the clover inverse multiplied by the packed null space vectors, else AV is simply the packed null space vectors. More...
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
__device__ __host__ void quda::computeVUV (Arg &arg, int parity, int x_cb, int c_row)
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
void quda::ComputeVUVCPU (Arg arg)
 
template<bool from_coarse, typename Float , int dim, QudaDirection dir, int fineSpin, int fineColor, int coarseSpin, int coarseColor, typename Arg >
__global__ void quda::ComputeVUVGPU (Arg arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
__device__ __host__ void quda::computeYreverse (Arg &arg, int parity, int x_cb)
 
template<typename Float , int nSpin, int nColor, typename Arg >
void quda::ComputeYReverseCPU (Arg &arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
__global__ void quda::ComputeYReverseGPU (Arg arg)
 
template<bool bidirectional, typename Float , int nSpin, int nColor, typename Arg >
__device__ __host__ void quda::computeCoarseLocal (Arg &arg, int parity, int x_cb)
 
template<bool bidirectional, typename Float , int nSpin, int nColor, typename Arg >
void quda::ComputeCoarseLocalCPU (Arg &arg)
 
template<bool bidirectional, typename Float , int nSpin, int nColor, typename Arg >
__global__ void quda::ComputeCoarseLocalGPU (Arg arg)
 
template<bool from_coarse, typename Float , int fineSpin, int coarseSpin, int fineColor, int coarseColor, typename Arg >
__device__ __host__ void quda::computeCoarseClover (Arg &arg, int parity, int x_cb, int ic_c)
 
template<bool from_coarse, typename Float , int fineSpin, int coarseSpin, int fineColor, int coarseColor, typename Arg >
void quda::ComputeCoarseCloverCPU (Arg &arg)
 
template<bool from_coarse, typename Float , int fineSpin, int coarseSpin, int fineColor, int coarseColor, typename Arg >
__global__ void quda::ComputeCoarseCloverGPU (Arg arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
void quda::AddCoarseDiagonalCPU (Arg &arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
__global__ void quda::AddCoarseDiagonalGPU (Arg arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
void quda::AddCoarseTmDiagonalCPU (Arg &arg)
 
template<typename Float , int nSpin, int nColor, typename Arg >
__global__ void quda::AddCoarseTmDiagonalGPU (Arg arg)
 
template<typename Float , int n, typename Arg >
__device__ __host__ void quda::computeYhat (Arg &arg, int d, int x_cb, int parity, int i)
 
template<typename Float , int n, typename Arg >
void quda::CalculateYhatCPU (Arg &arg)
 
template<typename Float , int n, typename Arg >
__global__ void quda::CalculateYhatGPU (Arg arg)
 
template<bool from_coarse, typename Float , int fineSpin, int fineColor, int coarseSpin, int coarseColor, QudaGaugeFieldOrder gOrder, typename F , typename Ftmp , typename coarseGauge , typename fineGauge , typename fineClover >
void quda::calculateY (coarseGauge &Y, coarseGauge &X, coarseGauge &Xinv, Ftmp &UV, F &AV, F &V, fineGauge &G, fineClover &C, fineClover &Cinv, GaugeField &Y_, GaugeField &X_, GaugeField &Xinv_, GaugeField &Yhat_, ColorSpinorField &av, const ColorSpinorField &v, double kappa, double mu, double mu_factor, QudaDiracType dirac, QudaMatPCType matpc)
 Calculate the coarse-link field, include the clover field, and its inverse, and finally also compute the preconditioned coarse link field. More...
 

Variables

static bool quda::bidirectional_debug = false