QUDA  v1.1.0
A library for QCD on GPUs
Classes | Namespaces | Enumerations | Functions
clover_field.h File Reference
#include <quda_internal.h>
#include <lattice_field.h>
#include <comm_key.h>

Go to the source code of this file.

Classes

struct  quda::CloverFieldParam
 
class  quda::CloverField
 
class  quda::cudaCloverField
 
class  quda::cpuCloverField
 
struct  quda::FullClover
 

Namespaces

 quda
 
 quda::clover
 

Enumerations

enum class  quda::CloverPrefetchType { quda::BOTH_CLOVER_PREFETCH_TYPE , quda::CLOVER_CLOVER_PREFETCH_TYPE , quda::INVERSE_CLOVER_PREFETCH_TYPE , quda::INVALID_CLOVER_PREFETCH_TYPE = QUDA_INVALID_ENUM }
 

Functions

bool quda::clover::isNative (QudaCloverFieldOrder order, QudaPrecision precision)
 
std::ostream & quda::operator<< (std::ostream &output, const CloverFieldParam &param)
 
double quda::norm1 (const CloverField &u, bool inverse=false)
 
double quda::norm2 (const CloverField &a, bool inverse=false)
 
void quda::computeClover (CloverField &clover, const GaugeField &fmunu, double coeff)
 Driver for computing the clover field from the field strength tensor. More...
 
void quda::copyGenericClover (CloverField &out, const CloverField &in, bool inverse, QudaFieldLocation location, void *Out=0, void *In=0, void *outNorm=0, void *inNorm=0)
 This generic function is used for copying the clover field where in the input and output can be in any order and location. More...
 
void quda::cloverInvert (CloverField &clover, bool computeTraceLog)
 This function compute the Cholesky decomposition of each clover matrix and stores the clover inverse field. More...
 
void quda::cloverRho (CloverField &clover, double rho)
 This function adds a real scalar onto the clover diagonal (only to the direct field not the inverse) More...
 
void quda::computeCloverForce (GaugeField &force, const GaugeField &U, std::vector< ColorSpinorField * > &x, std::vector< ColorSpinorField * > &p, std::vector< double > &coeff)
 Compute the force contribution from the solver solution fields. More...
 
void quda::computeCloverSigmaOprod (GaugeField &oprod, std::vector< ColorSpinorField * > &x, std::vector< ColorSpinorField * > &p, std::vector< std::vector< double > > &coeff)
 Compute the outer product from the solver solution fields arising from the diagonal term of the fermion bilinear in direction mu,nu and sum to outer product field. More...
 
void quda::computeCloverSigmaTrace (GaugeField &output, const CloverField &clover, double coeff)
 Compute the matrix tensor field necessary for the force calculation from the clover trace action. This computes a tensor field [mu,nu]. More...
 
void quda::cloverDerivative (cudaGaugeField &force, cudaGaugeField &gauge, cudaGaugeField &oprod, double coeff, QudaParity parity)
 Compute the derivative of the clover matrix in the direction mu,nu and compute the resulting force given the outer-product field. More...
 
void quda::copyFieldOffset (CloverField &out, const CloverField &in, CommKey offset, QudaPCType pc_type)
 This function is used for copying from a source clover field to a destination clover field with an offset. More...
 
constexpr bool quda::dynamic_clover_inverse ()
 Helper function that returns whether we have enabled dyanmic clover inversion or not. More...