Grid 0.7.0
CompactCloverHelpers< Impl > Class Template Reference

#include <CloverHelpers.h>

Inheritance diagram for CompactCloverHelpers< Impl >:
CompactWilsonCloverHelpers< Impl > WilsonCloverHelpers< Impl >

Public Types

typedef WilsonCloverHelpers< Impl > Helpers
typedef CompactWilsonCloverHelpers< Impl > CompactHelpers

Public Member Functions

 INHERIT_IMPL_TYPES (Impl)
 INHERIT_CLOVER_TYPES (Impl)
 INHERIT_COMPACT_CLOVER_TYPES (Impl)
 INHERIT_COMPACT_CLOVER_SIZES (Impl)
template<class _SpinorField>
void multCloverField (_SpinorField &out, const CloverField &C, const _SpinorField &phi)

Static Public Member Functions

static void InstantiateClover (CloverField &Clover, CloverField &CloverInv, RealD csw_t, RealD diag_mass)
static void InvertClover (CloverField &InvClover, const CloverDiagonalField &diagonal, const CloverTriangleField &triangle, CloverDiagonalField &diagonalInv, CloverTriangleField &triangleInv, bool fixedBoundaries)
static GaugeLinkField Cmunu (std::vector< GaugeLinkField > &U, GaugeLinkField &lambda, int mu, int nu)
template<typename vobj>
static accelerator_inline vobj triangle_elem (const iImplCloverTriangle< vobj > &triangle, int block, int i, int j)
static accelerator_inline int triangle_index (int i, int j)
static void MooeeKernel_gpu (int Nsite, int Ls, const FermionField &in, FermionField &out, const CloverDiagonalField &diagonal, const CloverTriangleField &triangle)
static void MooeeKernel_cpu (int Nsite, int Ls, const FermionField &in, FermionField &out, const CloverDiagonalField &diagonal, const CloverTriangleField &triangle)
static void MooeeKernel (int Nsite, int Ls, const FermionField &in, FermionField &out, const CloverDiagonalField &diagonal, const CloverTriangleField &triangle)
static void Invert (const CloverDiagonalField &diagonal, const CloverTriangleField &triangle, CloverDiagonalField &diagonalInv, CloverTriangleField &triangleInv)
static void ConvertLayout (const CloverField &full, CloverDiagonalField &diagonal, CloverTriangleField &triangle)
static void ConvertLayout (const CloverDiagonalField &diagonal, const CloverTriangleField &triangle, CloverField &full)
static void ModifyBoundaries (CloverDiagonalField &diagonal, CloverTriangleField &triangle, RealD csw_t, RealD cF, RealD diag_mass)
template<class Field, class Mask>
static strong_inline void ApplyBoundaryMask (Field &f, const Mask &m)
template<class MaskField>
static void SetupMasks (MaskField &full, MaskField &even, MaskField &odd)
static CloverField fillCloverYZ (const GaugeLinkField &F)
static CloverField fillCloverXZ (const GaugeLinkField &F)
static CloverField fillCloverXY (const GaugeLinkField &F)
static CloverField fillCloverXT (const GaugeLinkField &F)
static CloverField fillCloverYT (const GaugeLinkField &F)
static CloverField fillCloverZT (const GaugeLinkField &F)
template<class _Spinor>
static accelerator_inline void multClover (_Spinor &phi, const SiteClover &C, const _Spinor &chi)

Detailed Description

template<class Impl>
class CompactCloverHelpers< Impl >

Definition at line 197 of file CloverHelpers.h.

Member Typedef Documentation

◆ Helpers

template<class Impl>
typedef WilsonCloverHelpers<Impl> CompactCloverHelpers< Impl >::Helpers

Definition at line 205 of file CloverHelpers.h.

◆ CompactHelpers

template<class Impl>
typedef CompactWilsonCloverHelpers<Impl> CompactCloverHelpers< Impl >::CompactHelpers

Definition at line 206 of file CloverHelpers.h.

Member Function Documentation

◆ INHERIT_IMPL_TYPES()

template<class Impl>
CompactCloverHelpers< Impl >::INHERIT_IMPL_TYPES ( Impl )

◆ INHERIT_CLOVER_TYPES()

template<class Impl>
CompactCloverHelpers< Impl >::INHERIT_CLOVER_TYPES ( Impl )

◆ INHERIT_COMPACT_CLOVER_TYPES()

template<class Impl>
CompactCloverHelpers< Impl >::INHERIT_COMPACT_CLOVER_TYPES ( Impl )

◆ InstantiateClover()

template<class Impl>
void CompactCloverHelpers< Impl >::InstantiateClover ( CloverField & Clover,
CloverField & CloverInv,
RealD csw_t,
RealD diag_mass )
inlinestatic

Definition at line 208 of file CloverHelpers.h.

◆ InvertClover()

template<class Impl>
void CompactCloverHelpers< Impl >::InvertClover ( CloverField & InvClover,
const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle,
CloverDiagonalField & diagonalInv,
CloverTriangleField & triangleInv,
bool fixedBoundaries )
inlinestatic

Definition at line 212 of file CloverHelpers.h.

References CompactWilsonCloverHelpers< Impl >::Invert().

◆ Cmunu()

template<class Impl>
GaugeLinkField CompactCloverHelpers< Impl >::Cmunu ( std::vector< GaugeLinkField > & U,
GaugeLinkField & lambda,
int mu,
int nu )
inlinestatic

Definition at line 224 of file CloverHelpers.h.

References WilsonCloverHelpers< Impl >::Cmunu(), and U.

◆ INHERIT_COMPACT_CLOVER_SIZES()

template<class Impl>
CompactWilsonCloverHelpers< Impl >::INHERIT_COMPACT_CLOVER_SIZES ( Impl )
inherited

◆ triangle_elem()

template<class Impl>
template<typename vobj>
accelerator_inline vobj CompactWilsonCloverHelpers< Impl >::triangle_elem ( const iImplCloverTriangle< vobj > & triangle,
int block,
int i,
int j )
inlinestaticinherited

Definition at line 234 of file WilsonCloverHelpers.h.

References accelerator_inline, conjugate(), and triangle_index().

Referenced by Invert(), and MooeeKernel_gpu().

◆ triangle_index()

template<class Impl>
accelerator_inline int CompactWilsonCloverHelpers< Impl >::triangle_index ( int i,
int j )
inlinestaticinherited

Definition at line 244 of file WilsonCloverHelpers.h.

References accelerator_inline.

Referenced by Invert(), and triangle_elem().

◆ MooeeKernel_gpu()

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::MooeeKernel_gpu ( int Nsite,
int Ls,
const FermionField & in,
FermionField & out,
const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle )
inlinestaticinherited

◆ MooeeKernel_cpu()

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::MooeeKernel_cpu ( int Nsite,
int Ls,
const FermionField & in,
FermionField & out,
const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle )
inlinestaticinherited

Definition at line 291 of file WilsonCloverHelpers.h.

References autoView, conjugate(), CpuRead, CpuWrite, PREFETCH_CLOVER, thread_for, and vstream().

Referenced by MooeeKernel().

◆ MooeeKernel()

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::MooeeKernel ( int Nsite,
int Ls,
const FermionField & in,
FermionField & out,
const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle )
inlinestaticinherited

◆ Invert()

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::Invert ( const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle,
CloverDiagonalField & diagonalInv,
CloverTriangleField & triangleInv )
inlinestaticinherited

◆ ConvertLayout() [1/2]

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::ConvertLayout ( const CloverField & full,
CloverDiagonalField & diagonal,
CloverTriangleField & triangle )
inlinestaticinherited

◆ ConvertLayout() [2/2]

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::ConvertLayout ( const CloverDiagonalField & diagonal,
const CloverTriangleField & triangle,
CloverField & full )
inlinestaticinherited

◆ ModifyBoundaries()

template<class Impl>
void CompactWilsonCloverHelpers< Impl >::ModifyBoundaries ( CloverDiagonalField & diagonal,
CloverTriangleField & triangle,
RealD csw_t,
RealD cF,
RealD diag_mass )
inlinestaticinherited

◆ ApplyBoundaryMask()

◆ SetupMasks()

template<class Impl>
template<class MaskField>
void CompactWilsonCloverHelpers< Impl >::SetupMasks ( MaskField & full,
MaskField & even,
MaskField & odd )
inlinestaticinherited

◆ fillCloverYZ()

◆ fillCloverXZ()

◆ fillCloverXY()

◆ fillCloverXT()

◆ fillCloverYT()

◆ fillCloverZT()

◆ multClover()

template<class Impl>
template<class _Spinor>
accelerator_inline void WilsonCloverHelpers< Impl >::multClover ( _Spinor & phi,
const SiteClover & C,
const _Spinor & chi )
inlinestaticinherited

Definition at line 191 of file WilsonCloverHelpers.h.

References accelerator_inline, coalescedRead(), and mult().

◆ multCloverField()

template<class Impl>
template<class _SpinorField>
void WilsonCloverHelpers< Impl >::multCloverField ( _SpinorField & out,
const CloverField & C,
const _SpinorField & phi )
inlineinherited

The documentation for this class was generated from the following file: