QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
quda::ColorSpinorField Class Referenceabstract

#include <color_spinor_field.h>

Inheritance diagram for quda::ColorSpinorField:
Inheritance graph
[legend]
Collaboration diagram for quda::ColorSpinorField:
Collaboration graph
[legend]

Public Member Functions

 ColorSpinorField (const ColorSpinorField &)
 
 ColorSpinorField (const ColorSpinorParam &)
 
virtual ~ColorSpinorField ()
 
virtual ColorSpinorFieldoperator= (const ColorSpinorField &)
 
int Ncolor () const
 
int Nspin () const
 
int Nvec () const
 
QudaTwistFlavorType TwistFlavor () const
 
int Ndim () const
 
const int * X () const
 
int X (int d) const
 
size_t RealLength () const
 
size_t Length () const
 
int Stride () const
 
int Volume () const
 
int VolumeCB () const
 
int Pad () const
 
size_t Bytes () const
 
size_t NormBytes () const
 
size_t GhostBytes () const
 
size_t GhostNormBytes () const
 
void PrintDims () const
 
void * V ()
 
const void * V () const
 
void * Norm ()
 
const void * Norm () const
 
virtual const void * Ghost2 () const
 
void exchange (void **ghost, void **sendbuf, int nFace=1) const
 
virtual void exchangeGhost (QudaParity parity, int nFace, int dagger, const MemoryLocation *pack_destination=nullptr, const MemoryLocation *halo_location=nullptr, bool gdr_send=false, bool gdr_recv=false, QudaPrecision ghost_precision=QUDA_INVALID_PRECISION) const =0
 
bool isNative () const
 
bool IsComposite () const
 
bool IsComponent () const
 
int CompositeDim () const
 
int ComponentId () const
 
int ComponentVolume () const
 
int ComponentVolumeCB () const
 
int ComponentStride () const
 
size_t ComponentLength () const
 
size_t ComponentRealLength () const
 
size_t ComponentBytes () const
 
size_t ComponentNormBytes () const
 
QudaPCType PCType () const
 
QudaSiteSubset SiteSubset () const
 
QudaSiteOrder SiteOrder () const
 
QudaFieldOrder FieldOrder () const
 
QudaGammaBasis GammaBasis () const
 
const int * GhostFace () const
 
const int * GhostFaceCB () const
 
int GhostOffset (const int i) const
 
int GhostOffset (const int i, const int j) const
 
int GhostNormOffset (const int i) const
 
int GhostNormOffset (const int i, const int j) const
 
void * Ghost (const int i)
 
const void * Ghost (const int i) const
 
void * GhostNorm (const int i)
 
const void * GhostNorm (const int i) const
 
void *const * Ghost () const
 
const DslashConstantgetDslashConstant () const
 Get the dslash_constant structure from this field. More...
 
const ColorSpinorFieldEven () const
 
const ColorSpinorFieldOdd () const
 
ColorSpinorFieldEven ()
 
ColorSpinorFieldOdd ()
 
ColorSpinorFieldComponent (const int idx) const
 
ColorSpinorFieldComponent (const int idx)
 
CompositeColorSpinorFieldComponents ()
 
virtual void Source (const QudaSourceType sourceType, const int st=0, const int s=0, const int c=0)=0
 
virtual void PrintVector (unsigned int x) const =0
 
void LatticeIndex (int *y, int i) const
 
void OffsetIndex (int &i, int *y) const
 
ColorSpinorFieldCreateCoarse (const int *geoBlockSize, int spinBlockSize, int Nvec, QudaPrecision precision=QUDA_INVALID_PRECISION, QudaFieldLocation location=QUDA_INVALID_FIELD_LOCATION, QudaMemoryType mem_Type=QUDA_MEMORY_INVALID)
 Create a coarse color-spinor field, using this field to set the meta data. More...
 
ColorSpinorFieldCreateFine (const int *geoblockSize, int spinBlockSize, int Nvec, QudaPrecision precision=QUDA_INVALID_PRECISION, QudaFieldLocation location=QUDA_INVALID_FIELD_LOCATION, QudaMemoryType mem_type=QUDA_MEMORY_INVALID)
 Create a fine color-spinor field, using this field to set the meta data. More...
 
- Public Member Functions inherited from quda::LatticeField
 LatticeField (const LatticeFieldParam &param)
 
 LatticeField (const LatticeField &field)
 
virtual ~LatticeField ()
 
void allocateGhostBuffer (size_t ghost_bytes) const
 Allocate the static ghost buffers. More...
 
void createComms (bool no_comms_fill=false, bool bidir=true)
 
void destroyComms ()
 
void createIPCComms ()
 
bool ipcCopyComplete (int dir, int dim)
 
bool ipcRemoteCopyComplete (int dir, int dim)
 
const cudaEvent_t & getIPCCopyEvent (int dir, int dim) const
 
const cudaEvent_t & getIPCRemoteCopyEvent (int dir, int dim) const
 
int Ndim () const
 
const int * X () const
 
int Volume () const
 
int VolumeCB () const
 
const int * SurfaceCB () const
 
int SurfaceCB (const int i) const
 
int Stride () const
 
int Pad () const
 
const int * R () const
 
QudaGhostExchange GhostExchange () const
 
QudaPrecision Precision () const
 
QudaPrecision GhostPrecision () const
 
double Scale () const
 
void Scale (double scale_)
 Set the scale factor for a fixed-point field. More...
 
virtual QudaMemoryType MemType () const
 
int Nvec () const
 
QudaFieldLocation Location () const
 
size_t GBytes () const
 
void checkField (const LatticeField &a) const
 
virtual void read (char *filename)
 
virtual void write (char *filename)
 
virtual void gather (int nFace, int dagger, int dir, cudaStream_t *stream_p=NULL)
 
virtual void commsStart (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true)
 
virtual int commsQuery (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true)
 
virtual void commsWait (int nFace, int dir, int dagger=0, cudaStream_t *stream_p=NULL, bool gdr_send=false, bool gdr_recv=true)
 
virtual void scatter (int nFace, int dagger, int dir)
 
const char * VolString () const
 
const char * AuxString () const
 
virtual void backup () const
 Backs up the LatticeField. More...
 
virtual void restore () const
 Restores the LatticeField. More...
 
- Public Member Functions inherited from quda::Object
 Object ()
 
virtual ~Object ()
 

Static Public Member Functions

static ColorSpinorFieldCreate (const ColorSpinorParam &param)
 
static ColorSpinorFieldCreate (const ColorSpinorField &src, const ColorSpinorParam &param)
 
- Static Public Member Functions inherited from quda::LatticeField
static void freeGhostBuffer (void)
 Free statically allocated ghost buffers. More...
 
static void destroyIPCComms ()
 
- Static Public Member Functions inherited from quda::Object
static void * operator new (std::size_t size)
 
static void operator delete (void *p)
 
static void * operator new[] (std::size_t size)
 
static void operator delete[] (void *p)
 

Protected Member Functions

void createGhostZone (int nFace, bool spin_project=true) const
 
void reset (const ColorSpinorParam &)
 
void fill (ColorSpinorParam &) const
 
void setTuningString ()
 Set the vol_string and aux_string for use in tuning. More...
 
- Protected Member Functions inherited from quda::LatticeField
void precisionCheck ()
 

Static Protected Member Functions

static void checkField (const ColorSpinorField &, const ColorSpinorField &)
 

Protected Attributes

bool init
 
QudaPrecision ghost_precision_allocated
 
int nColor
 
int nSpin
 
int nVec
 
int nDim
 
int x [QUDA_MAX_DIM]
 
int volume
 
int volumeCB
 
int pad
 
int stride
 
QudaTwistFlavorType twistFlavor
 
QudaPCType pc_type
 
size_t real_length
 
size_t length
 
void * v
 
void * norm
 
void * v_h
 
void * norm_h
 
void * ghost [2][QUDA_MAX_DIM]
 
void * ghostNorm [2][QUDA_MAX_DIM]
 
int ghostFace [QUDA_MAX_DIM]
 
int ghostFaceCB [QUDA_MAX_DIM]
 
void * ghost_buf [2 *QUDA_MAX_DIM]
 
DslashConstant dslash_constant
 
size_t bytes
 
size_t norm_bytes
 
QudaSiteSubset siteSubset
 
QudaSiteOrder siteOrder
 
QudaFieldOrder fieldOrder
 
QudaGammaBasis gammaBasis
 
ColorSpinorFieldeven
 
ColorSpinorFieldodd
 
CompositeColorSpinorFieldDescriptor composite_descr
 used for deflation eigenvector sets etc.: More...
 
CompositeColorSpinorField components
 
- Protected Attributes inherited from quda::LatticeField
int volume
 
int volumeCB
 
int stride
 
int pad
 
size_t total_bytes
 
int nDim
 
int x [QUDA_MAX_DIM]
 
int surface [QUDA_MAX_DIM]
 
int surfaceCB [QUDA_MAX_DIM]
 
int r [QUDA_MAX_DIM]
 
QudaPrecision precision
 
QudaPrecision ghost_precision
 
bool ghost_precision_reset
 
double scale
 
QudaSiteSubset siteSubset
 
QudaGhostExchange ghostExchange
 
int nDimComms
 
size_t ghost_bytes
 
size_t ghost_bytes_old
 
size_t ghost_face_bytes [QUDA_MAX_DIM]
 
int ghostOffset [QUDA_MAX_DIM][2]
 
int ghostNormOffset [QUDA_MAX_DIM][2]
 
void * my_face_h [2]
 
void * my_face_hd [2]
 
void * my_face_d [2]
 
void * my_face_dim_dir_h [2][QUDA_MAX_DIM][2]
 
void * my_face_dim_dir_hd [2][QUDA_MAX_DIM][2]
 
void * my_face_dim_dir_d [2][QUDA_MAX_DIM][2]
 
void * from_face_h [2]
 
void * from_face_hd [2]
 
void * from_face_d [2]
 
void * from_face_dim_dir_h [2][QUDA_MAX_DIM][2]
 
void * from_face_dim_dir_hd [2][QUDA_MAX_DIM][2]
 
void * from_face_dim_dir_d [2][QUDA_MAX_DIM][2]
 
MsgHandlemh_recv_fwd [2][QUDA_MAX_DIM]
 
MsgHandlemh_recv_back [2][QUDA_MAX_DIM]
 
MsgHandlemh_send_fwd [2][QUDA_MAX_DIM]
 
MsgHandlemh_send_back [2][QUDA_MAX_DIM]
 
MsgHandlemh_recv_rdma_fwd [2][QUDA_MAX_DIM]
 
MsgHandlemh_recv_rdma_back [2][QUDA_MAX_DIM]
 
MsgHandlemh_send_rdma_fwd [2][QUDA_MAX_DIM]
 
MsgHandlemh_send_rdma_back [2][QUDA_MAX_DIM]
 
bool initComms
 
char vol_string [TuneKey::volume_n]
 
char aux_string [TuneKey::aux_n]
 
QudaMemoryType mem_type
 
char * backup_h
 
char * backup_norm_h
 
bool backed_up
 

Private Member Functions

void create (int nDim, const int *x, int Nc, int Ns, int Nvec, QudaTwistFlavorType Twistflavor, QudaPrecision precision, int pad, QudaSiteSubset subset, QudaSiteOrder siteOrder, QudaFieldOrder fieldOrder, QudaGammaBasis gammaBasis, QudaPCType pc_type)
 
void destroy ()
 

Friends

class ColorSpinorParam
 
std::ostream & operator<< (std::ostream &out, const ColorSpinorField &)
 

Additional Inherited Members

- Static Public Attributes inherited from quda::LatticeField
static int bufferIndex = 0
 
static bool ghost_field_reset = false
 
- Static Protected Attributes inherited from quda::LatticeField
static void * ghost_send_buffer_d [2] = {nullptr, nullptr}
 
static void * ghost_recv_buffer_d [2] = {nullptr, nullptr}
 
static void * ghost_pinned_send_buffer_h [2] = {nullptr, nullptr}
 
static void * ghost_pinned_recv_buffer_h [2] = {nullptr, nullptr}
 
static void * ghost_pinned_send_buffer_hd [2] = {nullptr, nullptr}
 
static void * ghost_pinned_recv_buffer_hd [2] = {nullptr, nullptr}
 
static void * ghost_remote_send_buffer_d [2][QUDA_MAX_DIM][2]
 
static size_t ghostFaceBytes = 0
 
static bool initGhostFaceBuffer = false
 
static MsgHandlemh_send_p2p_fwd [2][QUDA_MAX_DIM] { }
 
static MsgHandlemh_send_p2p_back [2][QUDA_MAX_DIM] { }
 
static MsgHandlemh_recv_p2p_fwd [2][QUDA_MAX_DIM] { }
 
static MsgHandlemh_recv_p2p_back [2][QUDA_MAX_DIM] { }
 
static int buffer_send_p2p_fwd [2][QUDA_MAX_DIM] { }
 
static int buffer_recv_p2p_fwd [2][QUDA_MAX_DIM] { }
 
static int buffer_send_p2p_back [2][QUDA_MAX_DIM] { }
 
static int buffer_recv_p2p_back [2][QUDA_MAX_DIM] { }
 
static cudaEvent_t ipcCopyEvent [2][2][QUDA_MAX_DIM]
 
static cudaEvent_t ipcRemoteCopyEvent [2][2][QUDA_MAX_DIM]
 
static bool initIPCComms = false
 

Detailed Description

Definition at line 311 of file color_spinor_field.h.

Constructor & Destructor Documentation

◆ ColorSpinorField() [1/2]

quda::ColorSpinorField::ColorSpinorField ( const ColorSpinorField field)

Definition at line 28 of file color_spinor_field.cpp.

References create(), fieldOrder, gammaBasis, ghost_buf, nColor, nDim, nSpin, nVec, pad, pc_type, quda::LatticeField::Precision(), QUDA_MAX_DIM, siteOrder, siteSubset, twistFlavor, and x.

Here is the call graph for this function:

◆ ColorSpinorField() [2/2]

quda::ColorSpinorField::ColorSpinorField ( const ColorSpinorParam param)

◆ ~ColorSpinorField()

quda::ColorSpinorField::~ColorSpinorField ( )
virtual

Definition at line 39 of file color_spinor_field.cpp.

References destroy().

Here is the call graph for this function:

Member Function Documentation

◆ Bytes()

size_t quda::ColorSpinorField::Bytes ( ) const
inline

◆ checkField()

void quda::ColorSpinorField::checkField ( const ColorSpinorField a,
const ColorSpinorField b 
)
staticprotected

Definition at line 586 of file color_spinor_field.cpp.

References errorQuda, Length(), Ncolor(), Nspin(), Nvec(), and TwistFlavor().

Referenced by quda::cpuColorSpinorField::Compare(), quda::cudaColorSpinorField::copy(), quda::cpuColorSpinorField::copy(), and quda::cudaColorSpinorField::CopySubset().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Component() [1/2]

ColorSpinorField & quda::ColorSpinorField::Component ( const int  idx) const

◆ Component() [2/2]

ColorSpinorField & quda::ColorSpinorField::Component ( const int  idx)

Definition at line 640 of file color_spinor_field.cpp.

References components, CompositeDim(), errorQuda, and IsComposite().

Here is the call graph for this function:

◆ ComponentBytes()

size_t quda::ColorSpinorField::ComponentBytes ( ) const
inline

◆ ComponentId()

int quda::ColorSpinorField::ComponentId ( ) const
inline

◆ ComponentLength()

size_t quda::ColorSpinorField::ComponentLength ( ) const
inline

◆ ComponentNormBytes()

size_t quda::ColorSpinorField::ComponentNormBytes ( ) const
inline

◆ ComponentRealLength()

size_t quda::ColorSpinorField::ComponentRealLength ( ) const
inline

◆ Components()

CompositeColorSpinorField& quda::ColorSpinorField::Components ( )
inline

◆ ComponentStride()

int quda::ColorSpinorField::ComponentStride ( ) const
inline

◆ ComponentVolume()

int quda::ColorSpinorField::ComponentVolume ( ) const
inline

◆ ComponentVolumeCB()

int quda::ColorSpinorField::ComponentVolumeCB ( ) const
inline

◆ CompositeDim()

int quda::ColorSpinorField::CompositeDim ( ) const
inline

◆ create()

void quda::ColorSpinorField::create ( int  nDim,
const int *  x,
int  Nc,
int  Ns,
int  Nvec,
QudaTwistFlavorType  Twistflavor,
QudaPrecision  precision,
int  pad,
QudaSiteSubset  subset,
QudaSiteOrder  siteOrder,
QudaFieldOrder  fieldOrder,
QudaGammaBasis  gammaBasis,
QudaPCType  pc_type 
)
private

◆ Create() [1/2]

ColorSpinorField * quda::ColorSpinorField::Create ( const ColorSpinorParam param)
static

Definition at line 752 of file color_spinor_field.cpp.

References errorQuda, quda::ColorSpinorParam::location, QUDA_CPU_FIELD_LOCATION, and QUDA_CUDA_FIELD_LOCATION.

Referenced by quda::ax(), quda::CG::blocksolve(), quda::MG::buildFreeVectors(), quda::EigenSolver::chebyOp(), cloverQuda(), quda::CoarseCoarseOp(), quda::CoarseOp(), computeCloverForceQuda(), quda::TRLM::computeKeptRitz(), computeStaggeredForceQuda(), quda::Solver::constructDeflationSpace(), contractQuda(), quda::CACG::create(), quda::CAGCR::create(), quda::Transfer::createTmp(), quda::Transfer::createV(), quda::deflated_solver::deflated_solver(), quda::Deflation::Deflation(), dslashQuda(), dslashQuda_4dpc(), dslashQuda_mdwf(), quda::IncEigCG::eigCGsolve(), eigensolveQuda(), quda::MG::generateEigenVectors(), quda::IncEigCG::initCGsolve(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), quda::EigenSolver::loadFromFile(), quda::EigenSolver::loadVectors(), MatDagMatQuda(), MatQuda(), quda::EigenSolver::matVec(), quda::MG::MG(), quda::multigrid_solver::multigrid_solver(), quda::norm1(), quda::norm2(), quda::TRLM::operator()(), quda::CG::operator()(), quda::CG3::operator()(), quda::CG3NE::operator()(), quda::CGNE::operator()(), quda::CGNR::operator()(), quda::BiCGstab::operator()(), quda::BiCGstabL::operator()(), quda::GCR::operator()(), quda::MR::operator()(), quda::CACGNE::operator()(), quda::CACGNR::operator()(), quda::MultiShiftCG::operator()(), quda::IncEigCG::operator()(), quda::GMResDR::operator()(), performWuppertalnStep(), quda::Deflation::reduce(), quda::EigenSolver::saveVectors(), quda::spinorNoise(), and quda::MG::verify().

◆ Create() [2/2]

ColorSpinorField * quda::ColorSpinorField::Create ( const ColorSpinorField src,
const ColorSpinorParam param 
)
static

◆ CreateCoarse()

ColorSpinorField * quda::ColorSpinorField::CreateCoarse ( const int *  geoBlockSize,
int  spinBlockSize,
int  Nvec,
QudaPrecision  precision = QUDA_INVALID_PRECISION,
QudaFieldLocation  location = QUDA_INVALID_FIELD_LOCATION,
QudaMemoryType  mem_Type = QUDA_MEMORY_INVALID 
)

Create a coarse color-spinor field, using this field to set the meta data.

Parameters
[in]geoBlockSizeGeometric block size that defines the coarse grid dimensions
[in]spinlockSizeGeometric block size that defines the coarse spin dimension
[in]NvecNumber of coarse color degrees of freedom per grid point
[in]precisionOptionally set the precision of the fine field
[in]locationOptionally set the location of the coarse field
[in]mem_typeOptionally set the memory type used (e.g., can override with mapped memory)

Definition at line 780 of file color_spinor_field.cpp.

References quda::ColorSpinorParam::create, errorQuda, quda::ColorSpinorParam::fieldOrder, quda::LatticeField::Location(), quda::LatticeFieldParam::mem_type, quda::ColorSpinorParam::nColor, nDim, quda::ColorSpinorParam::nSpin, nSpin, quda::LatticeField::Precision(), QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_FLOAT2_FIELD_ORDER, QUDA_FULL_SITE_SUBSET, QUDA_INVALID_FIELD_LOCATION, QUDA_INVALID_PRECISION, QUDA_MEMORY_DEVICE, QUDA_MEMORY_INVALID, QUDA_MEMORY_PINNED, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, QUDA_ZERO_FIELD_CREATE, quda::ColorSpinorParam::setPrecision(), quda::LatticeFieldParam::siteSubset, quda::LatticeFieldParam::x, and x.

Referenced by quda::Transfer::createTmp().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateFine()

ColorSpinorField * quda::ColorSpinorField::CreateFine ( const int *  geoblockSize,
int  spinBlockSize,
int  Nvec,
QudaPrecision  precision = QUDA_INVALID_PRECISION,
QudaFieldLocation  location = QUDA_INVALID_FIELD_LOCATION,
QudaMemoryType  mem_type = QUDA_MEMORY_INVALID 
)

Create a fine color-spinor field, using this field to set the meta data.

Parameters
[in]geoBlockSizeGeometric block size that defines the fine grid dimensions
[in]spinlockSizeGeometric block size that defines the fine spin dimension
[in]NvecNumber of fine color degrees of freedom per grid point
[in]precisionOptionally set the precision of the fine field
[in]locationOptionally set the location of the fine field
[in]mem_typeOptionally set the memory type used (e.g., can override with mapped memory)

Definition at line 819 of file color_spinor_field.cpp.

References quda::ColorSpinorParam::create, errorQuda, quda::ColorSpinorParam::fieldOrder, quda::LatticeField::Location(), quda::LatticeFieldParam::mem_type, quda::ColorSpinorParam::nColor, nDim, quda::ColorSpinorParam::nSpin, nSpin, quda::LatticeFieldParam::Precision(), quda::LatticeField::Precision(), QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, QUDA_DOUBLE_PRECISION, QUDA_FLOAT2_FIELD_ORDER, QUDA_FLOAT4_FIELD_ORDER, QUDA_FULL_SITE_SUBSET, QUDA_INVALID_FIELD_LOCATION, QUDA_INVALID_PRECISION, QUDA_MEMORY_DEVICE, QUDA_MEMORY_INVALID, QUDA_MEMORY_PINNED, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER, QUDA_ZERO_FIELD_CREATE, quda::ColorSpinorParam::setPrecision(), quda::LatticeFieldParam::siteSubset, quda::LatticeFieldParam::x, and x.

Here is the call graph for this function:

◆ createGhostZone()

void quda::ColorSpinorField::createGhostZone ( int  nFace,
bool  spin_project = true 
) const
protected

Compute the required extended ghost zone sizes and offsets

Parameters
[in]nFaceThe depth of the halo
[in]spin_projectWhether we are spin projecting

includes DW and non-degenerate TM ghosts

temporal hack : extra dimension for DW ghosts

Definition at line 43 of file color_spinor_field.cpp.

References ALIGNMENT_ADJUST, comm_dim_partitioned(), dims, quda::DslashConstant::dims, dslash_constant, errorQuda, quda::DslashConstant::face_T, quda::DslashConstant::face_X, quda::DslashConstant::face_XY, quda::DslashConstant::face_XYZ, quda::DslashConstant::face_XYZT, quda::DslashConstant::face_Y, quda::DslashConstant::face_Z, FieldOrder(), quda::LatticeField::ghost_bytes, quda::LatticeField::ghost_face_bytes, quda::LatticeField::ghost_precision, ghost_precision_allocated, quda::DslashConstant::ghostFace, ghostFace, quda::DslashConstant::ghostFaceCB, ghostFaceCB, quda::LatticeField::ghostNormOffset, quda::LatticeField::ghostOffset, GhostOffset(), isNative(), quda::DslashConstant::Ls, nColor, nDim, nSpin, QUDA_FULL_SITE_SUBSET, QUDA_HALF_PRECISION, QUDA_MAX_DIM, QUDA_PARITY_SITE_SUBSET, QUDA_QUARTER_PRECISION, siteSubset, quda::DslashConstant::Vh, quda::DslashConstant::volume_4d, quda::DslashConstant::volume_4d_cb, volumeCB, quda::DslashConstant::X, x, X(), quda::DslashConstant::X2X1, quda::DslashConstant::X2X1mX1, quda::DslashConstant::X3X2X1, quda::DslashConstant::X3X2X1mX2X1, quda::DslashConstant::X4X3X2X1, quda::DslashConstant::X4X3X2X1hmX3X2X1h, quda::DslashConstant::X4X3X2X1mX3X2X1, quda::DslashConstant::X5X4X3X2X1mX4X3X2X1, and quda::DslashConstant::Xh.

Referenced by quda::cudaColorSpinorField::allocateGhostBuffer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy()

void quda::ColorSpinorField::destroy ( )
private

Definition at line 288 of file color_spinor_field.cpp.

References init.

Referenced by ~ColorSpinorField().

Here is the caller graph for this function:

◆ Even() [1/2]

const ColorSpinorField & quda::ColorSpinorField::Even ( ) const

◆ Even() [2/2]

ColorSpinorField & quda::ColorSpinorField::Even ( )

◆ exchange()

void quda::ColorSpinorField::exchange ( void **  ghost,
void **  sendbuf,
int  nFace = 1 
) const

Do the exchange between neighbouring nodes of the data in sendbuf storing the result in recvbuf. The arrays are ordered (2*dim + dir).

Parameters
recvbufPacked buffer where we store the result
sendbufPacked buffer from which we're sending
nFaceNumber of layers we are exchanging

Definition at line 427 of file color_spinor_field.cpp.

References bytes, comm_declare_receive_relative, comm_declare_send_relative, comm_dim_partitioned(), comm_free(), comm_start(), comm_wait(), quda::LatticeField::ghost_precision, quda::LatticeField::Location(), quda::LatticeField::mh_send_back, quda::LatticeField::mh_send_fwd, nColor, quda::LatticeField::nDimComms, nSpin, pool_pinned_free, pool_pinned_malloc, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, qudaMemcpy, siteSubset, quda::LatticeField::surfaceCB, and quda::LatticeField::total_bytes.

Referenced by quda::cpuColorSpinorField::exchangeGhost(), and quda::reduceRow().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exchangeGhost()

virtual void quda::ColorSpinorField::exchangeGhost ( QudaParity  parity,
int  nFace,
int  dagger,
const MemoryLocation pack_destination = nullptr,
const MemoryLocation halo_location = nullptr,
bool  gdr_send = false,
bool  gdr_recv = false,
QudaPrecision  ghost_precision = QUDA_INVALID_PRECISION 
) const
pure virtual

This is a unified ghost exchange function for doing a complete halo exchange regardless of the type of field. All dimensions are exchanged and no spin projection is done in the case of Wilson fermions.

Parameters
[in]parityField parity
[in]nFaceDepth of halo exchange
[in]daggerIs this for a dagger operator (only relevant for spin projected Wilson)
[in]pack_destinationDestination of the packing buffer
[in]halo_locationDestination of the halo reading buffer
[in]gdr_sendAre we using GDR for sending
[in]gdr_recvAre we using GDR for receiving
[in]ghost_precisionThe precision used for the ghost exchange

Implemented in quda::cpuColorSpinorField, and quda::cudaColorSpinorField.

Referenced by quda::calculateY(), quda::DslashCoarseLaunch::operator()(), and quda::wuppertalStep().

Here is the caller graph for this function:

◆ FieldOrder()

QudaFieldOrder quda::ColorSpinorField::FieldOrder ( ) const
inline

Definition at line 483 of file color_spinor_field.h.

Referenced by quda::ApplyCovDev(), quda::ApplyDomainWall4D(), quda::ApplyDomainWall5D(), quda::ApplyImprovedStaggered(), quda::ApplyLaplace(), quda::ApplyNdegTwistedMass(), quda::ApplyNdegTwistedMassPreconditioned(), quda::ApplyStaggered(), quda::ApplyTwistedClover(), quda::ApplyTwistedCloverPreconditioned(), quda::ApplyTwistedMass(), quda::ApplyTwistedMassPreconditioned(), quda::ApplyWilson(), quda::ApplyWilsonClover(), quda::ApplyWilsonCloverPreconditioned(), quda::copyExtendedColorSpinor(), quda::copyGenericColorSpinor(), quda::CovDevArg< Float, nColor, reconstruct_ >::CovDevArg(), createGhostZone(), quda::Dslash5Arg< Float, nColor >::Dslash5Arg(), quda::GammaArg< Float, nColor >::GammaArg(), quda::genericCompare(), quda::genericCopyColorSpinor(), quda::genericCudaPrintVector(), quda::genericPrintVector(), quda::genericSource(), quda::LaplaceArg< Float, nColor, reconstruct_ >::LaplaceArg(), quda::cudaColorSpinorField::loadSpinorField(), quda::blas::mixed_reduce(), quda::LatticeField::Nvec(), quda::PackArg< Float_, nColor_, nSpin_, spin_project_ >::PackArg(), quda::Prolongate(), quda::Restrict(), quda::cudaColorSpinorField::saveSpinorField(), quda::spinorNoise(), quda::StaggeredArg< Float, nColor, reconstruct_u_, reconstruct_l_, improved_, phase_ >::StaggeredArg(), quda::blas::uni_blas(), quda::blas::uni_reduce(), and quda::WilsonArg< Float, nColor, reconstruct_ >::WilsonArg().

Here is the caller graph for this function:

◆ fill()

void quda::ColorSpinorField::fill ( ColorSpinorParam param) const
protected

◆ GammaBasis()

QudaGammaBasis quda::ColorSpinorField::GammaBasis ( ) const
inline

◆ getDslashConstant()

const DslashConstant& quda::ColorSpinorField::getDslashConstant ( ) const
inline

◆ Ghost() [1/3]

void * quda::ColorSpinorField::Ghost ( const int  i)

◆ Ghost() [2/3]

const void * quda::ColorSpinorField::Ghost ( const int  i) const

Definition at line 672 of file color_spinor_field.cpp.

References errorQuda, ghost, QUDA_PARITY_SITE_SUBSET, and siteSubset.

◆ Ghost() [3/3]

void *const * quda::ColorSpinorField::Ghost ( ) const

Return array of pointers to the ghost zones (ordering dim*2+dir)

Definition at line 688 of file color_spinor_field.cpp.

References ghost_buf.

◆ Ghost2()

virtual const void* quda::ColorSpinorField::Ghost2 ( ) const
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 428 of file color_spinor_field.h.

References dagger, parity, and QUDA_INVALID_PRECISION.

Referenced by quda::Dslash< Float >::setParam().

Here is the caller graph for this function:

◆ GhostBytes()

size_t quda::ColorSpinorField::GhostBytes ( ) const
inline

Definition at line 420 of file color_spinor_field.h.

Referenced by dslashTest(), main(), and TEST_P().

Here is the caller graph for this function:

◆ GhostFace()

const int* quda::ColorSpinorField::GhostFace ( ) const
inline

◆ GhostFaceCB()

const int* quda::ColorSpinorField::GhostFaceCB ( ) const
inline

◆ GhostNorm() [1/2]

void * quda::ColorSpinorField::GhostNorm ( const int  i)

Definition at line 678 of file color_spinor_field.cpp.

References errorQuda, ghostNorm, QUDA_PARITY_SITE_SUBSET, and siteSubset.

◆ GhostNorm() [2/2]

const void * quda::ColorSpinorField::GhostNorm ( const int  i) const

Definition at line 683 of file color_spinor_field.cpp.

References errorQuda, ghostNorm, QUDA_PARITY_SITE_SUBSET, and siteSubset.

◆ GhostNormBytes()

size_t quda::ColorSpinorField::GhostNormBytes ( ) const
inline

Definition at line 421 of file color_spinor_field.h.

◆ GhostNormOffset() [1/2]

int quda::ColorSpinorField::GhostNormOffset ( const int  i) const
inline

Definition at line 490 of file color_spinor_field.h.

Referenced by quda::colorspinor::FieldOrderCB< Float, coarseSpin, coarseColor, 1, csOrder, Float, ghostFloat >::resetGhost().

Here is the caller graph for this function:

◆ GhostNormOffset() [2/2]

int quda::ColorSpinorField::GhostNormOffset ( const int  i,
const int  j 
) const
inline

Definition at line 491 of file color_spinor_field.h.

◆ GhostOffset() [1/2]

int quda::ColorSpinorField::GhostOffset ( const int  i) const
inline

◆ GhostOffset() [2/2]

int quda::ColorSpinorField::GhostOffset ( const int  i,
const int  j 
) const
inline

Definition at line 489 of file color_spinor_field.h.

◆ IsComponent()

bool quda::ColorSpinorField::IsComponent ( ) const
inline

◆ IsComposite()

bool quda::ColorSpinorField::IsComposite ( ) const
inline

◆ isNative()

bool quda::ColorSpinorField::isNative ( ) const

◆ LatticeIndex()

void quda::ColorSpinorField::LatticeIndex ( int *  y,
int  i 
) const

Compute the n-dimensional site index given the 1-d offset index

Parameters
yn-dimensional site index
i1-dimensional site index

Definition at line 698 of file color_spinor_field.cpp.

References nDim, parity, QUDA_FULL_SITE_SUBSET, QUDA_MAX_DIM, siteSubset, and x.

Referenced by quda::Transfer::createGeoMap().

Here is the caller graph for this function:

◆ Length()

size_t quda::ColorSpinorField::Length ( ) const
inline

◆ Ncolor()

int quda::ColorSpinorField::Ncolor ( ) const
inline

◆ Ndim()

int quda::ColorSpinorField::Ndim ( ) const
inline

◆ Norm() [1/2]

void* quda::ColorSpinorField::Norm ( )
inline

◆ Norm() [2/2]

const void* quda::ColorSpinorField::Norm ( ) const
inline

Definition at line 427 of file color_spinor_field.h.

References quda::norm().

Here is the call graph for this function:

◆ NormBytes()

size_t quda::ColorSpinorField::NormBytes ( ) const
inline

◆ Nspin()

int quda::ColorSpinorField::Nspin ( ) const
inline

Definition at line 406 of file color_spinor_field.h.

Referenced by quda::Pack< Float, nColor, spin_project >::apply(), quda::ApplyClover(), quda::ApplyTwistClover(), quda::DomainWall5D< Float, nDim, nColor, Arg >::bytes(), quda::Staggered< Float, nDim, nColor, Arg >::bytes(), quda::Laplace< Float, nDim, nColor, Arg >::bytes(), quda::Pack< Float, nColor, spin_project >::bytes(), quda::Dslash< Float >::bytes(), checkField(), quda::Dirac::checkParitySpinor(), quda::DiracCoarse::Clover(), quda::DiracCoarse::CloverInv(), quda::contractQuda(), quda::blas::copy_ns::copy(), quda::CopyExtendedColorSpinor(), quda::CopyGenericColorSpinor(), quda::DiracCoarse::createY(), quda::DiracCoarse::createYhat(), quda::DiracCoarse::Dslash(), quda::DiracCoarsePC::Dslash(), quda::Dslash5Arg< Float, nColor >::Dslash5Arg(), quda::DiracCoarse::DslashXpay(), quda::DiracCoarsePC::DslashXpay(), quda::Pack< Float, nColor, spin_project >::fillAux(), quda::Dslash5< Float, nColor, Arg >::flops(), quda::Laplace< Float, nDim, nColor, Arg >::flops(), quda::Staggered< Float, nDim, nColor, Arg >::flops(), quda::Dslash< Float >::flops(), quda::Pack< Float, nColor, spin_project >::flops(), quda::DslashCoarsePolicyTune::flops(), quda::GammaArg< Float, nColor >::GammaArg(), quda::genericCompare(), quda::genericCudaPrintVector(), quda::genericPrintVector(), quda::genericSource(), quda::DiracCoarse::M(), main(), quda::blas::mixed_blas(), quda::blas::mixed_reduce(), quda::Transfer::P(), quda::Transfer::R(), quda::Dslash5< Float, nColor, Arg >::sharedBytesPerThread(), quda::shiftColorSpinorField(), quda::spinorNoise(), quda::blas::uni_blas(), quda::blas::uni_reduce(), and quda::wuppertalStep().

Here is the caller graph for this function:

◆ Nvec()

int quda::ColorSpinorField::Nvec ( ) const
inline

Definition at line 407 of file color_spinor_field.h.

Referenced by checkField(), create(), quda::cudaColorSpinorField::sendGhost(), and quda::cudaColorSpinorField::sendStart().

Here is the caller graph for this function:

◆ Odd() [1/2]

const ColorSpinorField & quda::ColorSpinorField::Odd ( ) const

◆ Odd() [2/2]

ColorSpinorField & quda::ColorSpinorField::Odd ( )

◆ OffsetIndex()

void quda::ColorSpinorField::OffsetIndex ( int &  i,
int *  y 
) const

Compute the 1-d offset index given the n-dimensional site index

Parameters
i1-dimensional site index
yn-dimensional site index

Definition at line 727 of file color_spinor_field.cpp.

References nDim, parity, QUDA_FULL_SITE_SUBSET, QUDA_MAX_DIM, siteSubset, and x.

Referenced by quda::Transfer::createGeoMap().

Here is the caller graph for this function:

◆ operator=()

ColorSpinorField & quda::ColorSpinorField::operator= ( const ColorSpinorField src)
virtual

◆ Pad()

int quda::ColorSpinorField::Pad ( ) const
inline

Definition at line 417 of file color_spinor_field.h.

Referenced by create().

Here is the caller graph for this function:

◆ PCType()

QudaPCType quda::ColorSpinorField::PCType ( ) const
inline

◆ PrintDims()

void quda::ColorSpinorField::PrintDims ( ) const
inline

Definition at line 422 of file color_spinor_field.h.

References printfQuda.

◆ PrintVector()

virtual void quda::ColorSpinorField::PrintVector ( unsigned int  x) const
pure virtual

Implemented in quda::cpuColorSpinorField, and quda::cudaColorSpinorField.

Referenced by quda::MG::verify().

Here is the caller graph for this function:

◆ RealLength()

size_t quda::ColorSpinorField::RealLength ( ) const
inline

◆ reset()

void quda::ColorSpinorField::reset ( const ColorSpinorParam param)
protected

for deflated solvers:

Definition at line 314 of file color_spinor_field.cpp.

References ALIGNMENT_ADJUST, quda::CompositeColorSpinorFieldDescriptor::bytes, bytes, quda::ColorSpinorParam::component_id, composite_descr, quda::ColorSpinorParam::composite_dim, quda::CompositeColorSpinorFieldDescriptor::dim, errorQuda, quda::ColorSpinorParam::fieldOrder, fieldOrder, quda::ColorSpinorParam::gammaBasis, gammaBasis, quda::LatticeField::ghost_precision, quda::LatticeFieldParam::GhostPrecision(), quda::CompositeColorSpinorFieldDescriptor::id, init, quda::CompositeColorSpinorFieldDescriptor::is_component, quda::ColorSpinorParam::is_component, quda::CompositeColorSpinorFieldDescriptor::is_composite, quda::ColorSpinorParam::is_composite, isNative(), quda::CompositeColorSpinorFieldDescriptor::length, length, quda::ColorSpinorParam::nColor, nColor, quda::LatticeFieldParam::nDim, nDim, quda::CompositeColorSpinorFieldDescriptor::norm_bytes, norm_bytes, quda::ColorSpinorParam::nSpin, nSpin, quda::ColorSpinorParam::nVec, nVec, quda::LatticeFieldParam::pad, pad, quda::ColorSpinorParam::pc_type, pc_type, quda::LatticeFieldParam::Precision(), quda::LatticeField::precision, QUDA_FLOAT2_FIELD_ORDER, QUDA_FULL_SITE_SUBSET, QUDA_HALF_PRECISION, QUDA_INVALID_FIELD_ORDER, QUDA_INVALID_GAMMA_BASIS, QUDA_INVALID_PRECISION, QUDA_INVALID_SITE_ORDER, QUDA_INVALID_SITE_SUBSET, QUDA_PARITY_SITE_SUBSET, QUDA_PC_INVALID, QUDA_QUARTER_PRECISION, QUDA_TWIST_DEG_DOUBLET, QUDA_TWIST_INVALID, QUDA_TWIST_NONDEG_DOUBLET, quda::CompositeColorSpinorFieldDescriptor::real_length, real_length, setTuningString(), quda::ColorSpinorParam::siteOrder, siteOrder, quda::LatticeFieldParam::siteSubset, siteSubset, quda::CompositeColorSpinorFieldDescriptor::stride, stride, quda::ColorSpinorParam::twistFlavor, twistFlavor, quda::CompositeColorSpinorFieldDescriptor::volume, volume, volumeCB, quda::LatticeFieldParam::x, and x.

Referenced by quda::cpuColorSpinorField::cpuColorSpinorField(), and quda::cudaColorSpinorField::cudaColorSpinorField().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setTuningString()

void quda::ColorSpinorField::setTuningString ( )
protectedvirtual

Set the vol_string and aux_string for use in tuning.

Reimplemented from quda::LatticeField.

Definition at line 261 of file color_spinor_field.cpp.

References quda::TuneKey::aux_n, quda::LatticeField::aux_string, errorQuda, nColor, nDim, nSpin, quda::LatticeField::precision, QUDA_TWIST_INVALID, QUDA_TWIST_NO, stride, twistFlavor, quda::LatticeField::vol_string, volume, quda::TuneKey::volume_n, and x.

Referenced by create(), and reset().

Here is the caller graph for this function:

◆ SiteOrder()

QudaSiteOrder quda::ColorSpinorField::SiteOrder ( ) const
inline

Definition at line 482 of file color_spinor_field.h.

Referenced by quda::copyExtendedColorSpinor(), and quda::copyGenericColorSpinor().

Here is the caller graph for this function:

◆ SiteSubset()

QudaSiteSubset quda::ColorSpinorField::SiteSubset ( ) const
inlinevirtual
Returns
Field subset type

Reimplemented from quda::LatticeField.

Definition at line 481 of file color_spinor_field.h.

Referenced by quda::DslashCoarsePolicyTune::bytes(), quda::Dirac::checkFullSpinor(), quda::Dirac::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), quda::blas::copy_ns::copy(), quda::copyExtendedColorSpinor(), quda::copyGenericColorSpinor(), quda::cpuColorSpinorField::cpuColorSpinorField(), quda::cudaColorSpinorField::cudaColorSpinorField(), quda::DiracCoarse::Dslash(), quda::DiracCoarsePC::Dslash(), quda::DiracCoarse::DslashXpay(), quda::DslashCoarsePolicyTune::flops(), invertQuda(), quda::DiracMobius::M(), quda::DiracCoarse::M(), quda::DiracCoarsePC::M(), quda::DiracCoarse::MdagM(), quda::MG::operator()(), quda::dslash::DslashBasic< Dslash >::operator()(), quda::dslash::DslashFusedExterior< Dslash >::operator()(), quda::DslashCoarseLaunch::operator()(), quda::dslash::DslashGDR< Dslash >::operator()(), quda::dslash::DslashFusedGDR< Dslash >::operator()(), quda::dslash::DslashGDRRecv< Dslash >::operator()(), quda::dslash::DslashFusedGDRRecv< Dslash >::operator()(), quda::PreconditionedSolver::operator()(), quda::dslash::DslashZeroCopyPack< Dslash >::operator()(), quda::dslash::DslashFusedZeroCopyPack< Dslash >::operator()(), quda::dslash::DslashZeroCopyPackGDRRecv< Dslash >::operator()(), quda::dslash::DslashFusedZeroCopyPackGDRRecv< Dslash >::operator()(), quda::dslash::DslashZeroCopy< Dslash >::operator()(), quda::dslash::DslashFusedZeroCopy< Dslash >::operator()(), quda::Transfer::P(), quda::Transfer::R(), and quda::shiftColorSpinorField().

Here is the caller graph for this function:

◆ Source()

virtual void quda::ColorSpinorField::Source ( const QudaSourceType  sourceType,
const int  st = 0,
const int  s = 0,
const int  c = 0 
)
pure virtual

Implemented in quda::cpuColorSpinorField, and quda::cudaColorSpinorField.

Referenced by quda::MG::buildFreeVectors().

Here is the caller graph for this function:

◆ Stride()

int quda::ColorSpinorField::Stride ( ) const
inline

◆ TwistFlavor()

QudaTwistFlavorType quda::ColorSpinorField::TwistFlavor ( ) const
inline

◆ V() [1/2]

void* quda::ColorSpinorField::V ( )
inline

◆ V() [2/2]

const void* quda::ColorSpinorField::V ( ) const
inline

Definition at line 425 of file color_spinor_field.h.

◆ Volume()

int quda::ColorSpinorField::Volume ( ) const
inline

Definition at line 415 of file color_spinor_field.h.

References quda::CompositeColorSpinorFieldDescriptor::volume.

Referenced by quda::BlockOrthoArg< Rotator, Vector, fineSpin, spinBlockSize, coarseSpin, nVec >::BlockOrthoArg(), quda::TwistedClover< Float, nDim, nColor, Arg >::bytes(), quda::WilsonClover< Float, nDim, nColor, Arg >::bytes(), quda::TwistedCloverPreconditioned< Float, nDim, nColor, Arg >::bytes(), quda::WilsonCloverPreconditioned< Float, nDim, nColor, Arg >::bytes(), quda::Staggered< Float, nDim, nColor, Arg >::bytes(), quda::Laplace< Float, nDim, nColor, Arg >::bytes(), quda::Dslash< Float >::bytes(), quda::Dirac::checkParitySpinor(), quda::DiracClover::checkParitySpinor(), quda::DiracTwistedClover::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), quda::DiracClover::Clover(), quda::DiracCloverPC::CloverInv(), quda::blas::copy_ns::copy(), quda::copyGenericColorSpinor(), quda::Transfer::createGeoMap(), quda::DiracWilson::Dslash(), quda::DiracCloverPC::Dslash(), quda::DiracDomainWall::Dslash(), quda::DiracTwistedMass::Dslash(), quda::DiracTwistedMassPC::Dslash(), quda::DiracTwistedCloverPC::Dslash(), quda::DiracStaggered::Dslash(), quda::DiracImprovedStaggered::Dslash(), quda::GaugeLaplace::Dslash(), quda::DiracDomainWall4D::Dslash4(), quda::DiracMobius::Dslash4(), quda::DiracMobius::Dslash4pre(), quda::DiracMobius::Dslash4preXpay(), quda::DiracDomainWall4D::Dslash4Xpay(), quda::DiracMobius::Dslash4Xpay(), quda::DiracDomainWall4D::Dslash5(), quda::DiracMobius::Dslash5(), quda::DiracDomainWall4DPC::Dslash5inv(), quda::DiracMobiusPC::Dslash5inv(), quda::DiracDomainWall4DPC::Dslash5invXpay(), quda::DiracMobiusPC::Dslash5invXpay(), quda::DiracDomainWall4D::Dslash5Xpay(), quda::DiracMobius::Dslash5Xpay(), quda::GaugeCovDev::DslashCD(), dslashRef(), quda::DiracWilson::DslashXpay(), quda::DiracClover::DslashXpay(), quda::DiracCloverPC::DslashXpay(), quda::DiracDomainWall::DslashXpay(), quda::DiracTwistedMass::DslashXpay(), quda::DiracTwistedMassPC::DslashXpay(), quda::DiracTwistedClover::DslashXpay(), quda::DiracTwistedCloverPC::DslashXpay(), quda::DiracStaggered::DslashXpay(), quda::DiracImprovedStaggered::DslashXpay(), quda::GaugeLaplace::DslashXpay(), quda::extendedCopyColorSpinor(), quda::Dslash5< Float, nColor, Arg >::flops(), quda::DomainWall5D< Float, nDim, nColor, Arg >::flops(), quda::TwistedMass< Float, nDim, nColor, Arg >::flops(), quda::TwistedClover< Float, nDim, nColor, Arg >::flops(), quda::WilsonClover< Float, nDim, nColor, Arg >::flops(), quda::NdegTwistedMass< Float, nDim, nColor, Arg >::flops(), quda::Laplace< Float, nDim, nColor, Arg >::flops(), quda::WilsonCloverPreconditioned< Float, nDim, nColor, Arg >::flops(), quda::TwistedCloverPreconditioned< Float, nDim, nColor, Arg >::flops(), quda::TwistedMassPreconditioned< Float, nDim, nColor, Arg >::flops(), quda::Staggered< Float, nDim, nColor, Arg >::flops(), quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::flops(), quda::Dslash< Float >::flops(), quda::DiracWilson::M(), quda::DiracClover::M(), quda::DiracDomainWall::M(), quda::DiracDomainWall4D::M(), quda::DiracMobius::M(), quda::DiracTwistedMass::M(), quda::DiracTwistedClover::M(), quda::DiracStaggered::M(), quda::DiracImprovedStaggered::M(), main(), quda::blas::mixed_blas(), quda::blas::mixed_reduce(), quda::shiftColorSpinorField(), quda::DiracTwistedMass::twistedApply(), quda::DiracTwistedClover::twistedCloverApply(), quda::blas::uni_blas(), quda::blas::uni_reduce(), and quda::MG::verify().

◆ VolumeCB()

int quda::ColorSpinorField::VolumeCB ( ) const
inline

Definition at line 416 of file color_spinor_field.h.

References QUDA_PARITY_SITE_SUBSET, and quda::CompositeColorSpinorFieldDescriptor::volume.

Referenced by quda::CopySpinor< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder >::apply(), quda::BlockOrthoArg< Rotator, Vector, fineSpin, spinBlockSize, coarseSpin, nVec >::BlockOrthoArg(), quda::DomainWall5D< Float, nDim, nColor, Arg >::bytes(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::bytes(), quda::DiracCoarse::Clover(), quda::DiracCoarse::CloverInv(), quda::DiracCoarse::Dslash(), quda::DiracCoarsePC::Dslash(), quda::DiracCoarse::DslashXpay(), quda::DiracCoarsePC::DslashXpay(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::flops(), quda::DslashCoarsePolicyTune::flops(), quda::ImprovedStaggeredApply< Float, nColor, recon_l >::ImprovedStaggeredApply(), quda::LaplaceApply< Float, nColor, recon >::LaplaceApply(), quda::DiracCoarse::M(), quda::CopySpinor< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder >::minThreads(), quda::SpinorNoise< real, Ns, Nc, type, Arg >::minThreads(), quda::CopyColorSpinor< Ns, Arg >::minThreads(), quda::CopyColorSpinor< 4, Arg >::minThreads(), quda::Transfer::P(), quda::Transfer::R(), quda::StaggeredApply< Float, nColor, recon_u >::StaggeredApply(), quda::TwistedCloverApply< Float, nColor, recon >::TwistedCloverApply(), quda::TwistedCloverPreconditionedApply< Float, nColor, recon >::TwistedCloverPreconditionedApply(), quda::TwistedMassApply< Float, nColor, recon >::TwistedMassApply(), quda::TwistedMassPreconditionedApply< Float, nColor, recon >::TwistedMassPreconditionedApply(), quda::WilsonApply< Float, nColor, recon >::WilsonApply(), quda::WilsonCloverApply< Float, nColor, recon >::WilsonCloverApply(), and quda::WilsonCloverPreconditionedApply< Float, nColor, recon >::WilsonCloverPreconditionedApply().

Here is the caller graph for this function:

◆ X() [1/2]

const int* quda::ColorSpinorField::X ( ) const
inline

Definition at line 410 of file color_spinor_field.h.

Referenced by quda::Dslash5< Float, nColor, Arg >::bytes(), quda::calculateY(), quda::DiracDomainWall::checkDWF(), quda::Dirac::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), quda::ContractionArg< real >::ContractionArg(), createGhostZone(), quda::DiracCoarse::createY(), quda::DiracCoarse::createYhat(), quda::DomainWall4D< Float, nDim, nColor, Arg >::DomainWall4D(), quda::DomainWall5D< Float, nDim, nColor, Arg >::DomainWall5D(), quda::DiracDomainWall::Dslash(), quda::DiracMobius::Dslash4pre(), quda::DiracMobius::Dslash4preXpay(), quda::DiracDomainWall4D::Dslash5(), quda::DiracMobius::Dslash5(), quda::DiracDomainWall4DPC::Dslash5inv(), quda::DiracMobiusPC::Dslash5inv(), quda::DiracDomainWall4DPC::Dslash5invXpay(), quda::DiracMobiusPC::Dslash5invXpay(), quda::DiracDomainWall4D::Dslash5Xpay(), quda::DiracMobius::Dslash5Xpay(), quda::DslashArg< Float >::DslashArg(), quda::DslashCoarseArg< Float, yFloat, ghostFloat, coarseSpin, coarseColor, csOrder, gOrder >::DslashCoarseArg(), quda::DiracDomainWall::DslashXpay(), quda::extendedCopyColorSpinor(), quda::colorspinor::FieldOrderCB< Float, coarseSpin, coarseColor, 1, csOrder, Float, ghostFloat >::FieldOrderCB(), quda::Dslash5< Float, nColor, Arg >::flops(), quda::DomainWall5D< Float, nDim, nColor, Arg >::flops(), quda::DiracDomainWall::M(), quda::DiracDomainWall4D::M(), quda::DiracMobius::M(), matdagmat(), quda::PackGhostArg< Field >::PackGhostArg(), quda::colorspinor::PaddedSpaceSpinorColorOrder< Float, Ns, Nc >::PaddedSpaceSpinorColorOrder(), staggered_dslash(), and quda::WuppertalSmearingArg< Float, Ns, Nc, gRecon >::WuppertalSmearingArg().

Here is the caller graph for this function:

◆ X() [2/2]

int quda::ColorSpinorField::X ( int  d) const
inline

Definition at line 411 of file color_spinor_field.h.

Friends And Related Function Documentation

◆ ColorSpinorParam

friend class ColorSpinorParam
friend

Definition at line 571 of file color_spinor_field.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const ColorSpinorField a 
)
friend

Definition at line 860 of file color_spinor_field.cpp.

Member Data Documentation

◆ bytes

size_t quda::ColorSpinorField::bytes
protected

◆ components

CompositeColorSpinorField quda::ColorSpinorField::components
protected

◆ composite_descr

CompositeColorSpinorFieldDescriptor quda::ColorSpinorField::composite_descr
protected

◆ dslash_constant

DslashConstant quda::ColorSpinorField::dslash_constant
mutableprotected

Definition at line 360 of file color_spinor_field.h.

Referenced by createGhostZone().

◆ even

ColorSpinorField* quda::ColorSpinorField::even
protected

◆ fieldOrder

QudaFieldOrder quda::ColorSpinorField::fieldOrder
protected

◆ gammaBasis

QudaGammaBasis quda::ColorSpinorField::gammaBasis
protected

◆ ghost

void* quda::ColorSpinorField::ghost[2][QUDA_MAX_DIM]
protected

Definition at line 352 of file color_spinor_field.h.

Referenced by quda::cudaColorSpinorField::createComms(), and Ghost().

◆ ghost_buf

void* quda::ColorSpinorField::ghost_buf[2 *QUDA_MAX_DIM]
mutableprotected

◆ ghost_precision_allocated

QudaPrecision quda::ColorSpinorField::ghost_precision_allocated
mutableprotected

Used to keep local track of allocated ghost_precision in createGhostZone

Definition at line 323 of file color_spinor_field.h.

Referenced by createGhostZone().

◆ ghostFace

int quda::ColorSpinorField::ghostFace[QUDA_MAX_DIM]
mutableprotected

Definition at line 355 of file color_spinor_field.h.

Referenced by createGhostZone().

◆ ghostFaceCB

int quda::ColorSpinorField::ghostFaceCB[QUDA_MAX_DIM]
mutableprotected

◆ ghostNorm

void* quda::ColorSpinorField::ghostNorm[2][QUDA_MAX_DIM]
protected

Definition at line 353 of file color_spinor_field.h.

Referenced by quda::cudaColorSpinorField::createComms(), and GhostNorm().

◆ init

bool quda::ColorSpinorField::init
protected

◆ length

size_t quda::ColorSpinorField::length
protected

◆ nColor

int quda::ColorSpinorField::nColor
protected

◆ nDim

int quda::ColorSpinorField::nDim
protected

◆ norm

void* quda::ColorSpinorField::norm
protected

◆ norm_bytes

size_t quda::ColorSpinorField::norm_bytes
protected

◆ norm_h

void* quda::ColorSpinorField::norm_h
protected

◆ nSpin

int quda::ColorSpinorField::nSpin
protected

◆ nVec

int quda::ColorSpinorField::nVec
protected

◆ odd

ColorSpinorField* quda::ColorSpinorField::odd
protected

◆ pad

int quda::ColorSpinorField::pad
protected

◆ pc_type

QudaPCType quda::ColorSpinorField::pc_type
protected

Definition at line 339 of file color_spinor_field.h.

Referenced by ColorSpinorField(), create(), fill(), quda::operator<<(), operator=(), and reset().

◆ real_length

size_t quda::ColorSpinorField::real_length
protected

Definition at line 341 of file color_spinor_field.h.

Referenced by create(), quda::operator<<(), and reset().

◆ siteOrder

QudaSiteOrder quda::ColorSpinorField::siteOrder
protected

◆ siteSubset

QudaSiteSubset quda::ColorSpinorField::siteSubset
protected

◆ stride

int quda::ColorSpinorField::stride
protected

◆ twistFlavor

QudaTwistFlavorType quda::ColorSpinorField::twistFlavor
protected

◆ v

void* quda::ColorSpinorField::v
protected

◆ v_h

void* quda::ColorSpinorField::v_h
protected

◆ volume

int quda::ColorSpinorField::volume
protected

Definition at line 332 of file color_spinor_field.h.

Referenced by create(), quda::operator<<(), reset(), and setTuningString().

◆ volumeCB

int quda::ColorSpinorField::volumeCB
protected

◆ x

int quda::ColorSpinorField::x[QUDA_MAX_DIM]
protected

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