QUDA
v1.1.0
A library for QCD on GPUs
|
#include <quda_internal.h>
#include <tune_quda.h>
#include <color_spinor_field.h>
#include <gauge_field.h>
#include <clover_field.h>
#include <worker.h>
Go to the source code of this file.
Namespaces | |
quda | |
quda::dslash | |
quda::mobius_tensor_core | |
quda::mobius_eofa | |
Typedefs | |
using | quda::dslash::shmem_sync_t = uint64_t |
type used for shmem signaling More... | |
Enumerations | |
enum | quda::Dslash5Type { quda::DSLASH5_DWF , quda::DSLASH5_MOBIUS_PRE , quda::DSLASH5_MOBIUS , quda::M5_INV_DWF , quda::M5_INV_MOBIUS , quda::M5_INV_ZMOBIUS , quda::M5_EOFA , quda::M5INV_EOFA } |
enum class | quda::MdwfFusedDslashType { quda::D4_D5INV_D5PRE , quda::D4_D5INV_D5INVDAG , quda::D4DAG_D5PREDAG_D5INVDAG , quda::D4DAG_D5PREDAG , quda::D5PRE } |
Functions | |
void | quda::setKernelPackT (bool pack) |
bool | quda::getKernelPackT () |
void | quda::pushKernelPackT (bool pack) |
void | quda::popKernelPackT () |
void | quda::setPackComms (const int *dim_pack) |
Helper function that sets which dimensions the packing kernel should be packing for. More... | |
bool | quda::getDslashLaunch () |
void | quda::createDslashEvents () |
void | quda::destroyDslashEvents () |
shmem_sync_t | quda::dslash::get_shmem_sync_counter () |
Get the shmem sync counter. More... | |
shmem_sync_t | quda::dslash::set_shmem_sync_counter (shmem_sync_t count) |
Set the shmem sync counter to count. More... | |
shmem_sync_t | quda::dslash::inc_shmem_sync_counter () |
increase the shmem sync counter for the next dslash application More... | |
void | quda::ApplyWilson (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double kappa, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Wilson stencil. More... | |
void | quda::ApplyWilsonClover (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &A, double kappa, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Wilson-clover stencil. More... | |
void | quda::ApplyWilsonCloverHasenbuschTwist (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &A, double kappa, double mu, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Wilson-clover stencil. More... | |
void | quda::ApplyWilsonCloverPreconditioned (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &A, double kappa, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the preconditioned Wilson-clover stencil. More... | |
void | quda::ApplyWilsonCloverHasenbuschTwistPCClovInv (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &A, double kappa, double mu, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the twisted-mass stencil. More... | |
void | quda::ApplyWilsonCloverHasenbuschTwistPCNoClovInv (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &A, double kappa, double mu, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Wilson-clover stencil with thist for Hasenbusch. More... | |
void | quda::ApplyTwistedMass (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double b, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
void | quda::ApplyTwistedMassPreconditioned (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double b, bool xpay, const ColorSpinorField &x, int parity, bool dagger, bool asymmetric, const int *comm_override, TimeProfile &profile) |
Driver for applying the preconditioned twisted-mass stencil. More... | |
void | quda::ApplyNdegTwistedMass (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double b, double c, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the non-degenerate twisted-mass stencil. More... | |
void | quda::ApplyNdegTwistedMassPreconditioned (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double b, double c, bool xpay, const ColorSpinorField &x, int parity, bool dagger, bool asymmetric, const int *comm_override, TimeProfile &profile) |
Driver for applying the preconditioned non-degenerate twisted-mass stencil. More... | |
void | quda::ApplyTwistedClover (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &C, double a, double b, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the twisted-clover stencil. More... | |
void | quda::ApplyTwistedCloverPreconditioned (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const CloverField &C, double a, double b, bool xpay, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the preconditioned twisted-clover stencil. More... | |
void | quda::ApplyDomainWall5D (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double m_f, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Domain-wall 5-d stencil to a 5-d vector with 5-d preconditioned data order. More... | |
void | quda::ApplyDomainWall4D (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, double m_5, const Complex *b_5, const Complex *c_5, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the batched Wilson 4-d stencil to a 5-d vector with 4-d preconditioned data order. More... | |
void | quda::ApplyDslash5 (ColorSpinorField &out, const ColorSpinorField &in, const ColorSpinorField &x, double m_f, double m_5, const Complex *b_5, const Complex *c_5, double a, bool dagger, Dslash5Type type) |
Apply either the domain-wall / mobius Dslash5 operator or the M5 inverse operator. In the current implementation, it is expected that the color-spinor fields are 4-d preconditioned. More... | |
void | quda::mobius_tensor_core::apply_fused_dslash (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, ColorSpinorField &y, const ColorSpinorField &x, double m_f, double m_5, const Complex *b_5, const Complex *c_5, bool dagger, int parity, int shift[4], int halo_shift[4], MdwfFusedDslashType type) |
void | quda::mobius_eofa::apply_dslash5 (ColorSpinorField &out, const ColorSpinorField &in, const ColorSpinorField &x, double m_f, double m_5, const Complex *b_5, const Complex *c_5, double a, int eofa_pm, double inv, double kappa, const double *eofa_u, const double *eofa_x, const double *eofa_y, double sherman_morrison, bool dagger, Dslash5Type type) |
void | quda::ApplyLaplace (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, int dir, double a, double b, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the Laplace stencil. More... | |
void | quda::ApplyCovDev (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, int mu, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Driver for applying the covariant derivative. More... | |
void | quda::ApplyClover (ColorSpinorField &out, const ColorSpinorField &in, const CloverField &clover, bool inverse, int parity) |
Apply clover-matrix field to a color-spinor field. More... | |
void | quda::ApplyStaggered (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, double a, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Apply the staggered dslash operator to a color-spinor field. More... | |
void | quda::ApplyImprovedStaggered (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &U, const GaugeField &L, double a, const ColorSpinorField &x, int parity, bool dagger, const int *comm_override, TimeProfile &profile) |
Apply the improved staggered dslash operator to a color-spinor field. More... | |
void | quda::ApplyStaggeredKahlerDiracInverse (ColorSpinorField &out, const ColorSpinorField &in, const GaugeField &Xinv, bool dagger) |
Apply the (improved) staggered Kahler-Dirac inverse block to a color-spinor field. More... | |
void | quda::ApplyTwistGamma (ColorSpinorField &out, const ColorSpinorField &in, int d, double kappa, double mu, double epsilon, int dagger, QudaTwistGamma5Type type) |
Apply the twisted-mass gamma operator to a color-spinor field. More... | |
void | quda::ApplyTwistClover (ColorSpinorField &out, const ColorSpinorField &in, const CloverField &clover, double kappa, double mu, double epsilon, int parity, int dagger, QudaTwistGamma5Type twist) |
Apply twisted clover-matrix field to a color-spinor field. More... | |
void | quda::PackGhost (void *ghost[2 *QUDA_MAX_DIM], const ColorSpinorField &field, MemoryLocation location, int nFace, bool dagger, int parity, bool spin_project, double a, double b, double c, int shmem, const qudaStream_t &stream) |
Dslash face packing routine. More... | |
void | quda::gamma5 (ColorSpinorField &out, const ColorSpinorField &in) |
Applies a gamma5 matrix to a spinor (wrapper to ApplyGamma) More... | |