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

#include <lattice_field.h>

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

Public Member Functions

 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 QudaSiteSubset SiteSubset () const
 
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 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)
 

Static Public Attributes

static int bufferIndex = 0
 
static bool ghost_field_reset = false
 

Protected Member Functions

virtual void setTuningString ()
 
void precisionCheck ()
 

Protected Attributes

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
 

Static Protected Attributes

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 144 of file lattice_field.h.

Constructor & Destructor Documentation

◆ LatticeField() [1/2]

quda::LatticeField::LatticeField ( const LatticeFieldParam param)

◆ LatticeField() [2/2]

quda::LatticeField::LatticeField ( const LatticeField field)

◆ ~LatticeField()

quda::LatticeField::~LatticeField ( )
virtual

Destructor for LatticeField

Definition at line 218 of file lattice_field.cpp.

Member Function Documentation

◆ allocateGhostBuffer()

void quda::LatticeField::allocateGhostBuffer ( size_t  ghost_bytes) const

Allocate the static ghost buffers.

Parameters
[in]ghost_bytesSize of the ghost buffer to allocate

Definition at line 220 of file lattice_field.cpp.

References comm_barrier(), device_pinned_free, device_pinned_malloc, ghost_bytes, ghost_pinned_recv_buffer_h, ghost_pinned_recv_buffer_hd, ghost_pinned_send_buffer_h, ghost_pinned_send_buffer_hd, ghost_recv_buffer_d, ghost_send_buffer_d, ghostFaceBytes, host_free, initGhostFaceBuffer, mapped_malloc, and qudaDeviceSynchronize.

Referenced by quda::cudaGaugeField::allocateGhostBuffer(), and quda::cudaColorSpinorField::allocateGhostBuffer().

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

◆ AuxString()

const char* quda::LatticeField::AuxString ( ) const
inline

◆ backup()

virtual void quda::LatticeField::backup ( ) const
inlinevirtual

◆ checkField()

void quda::LatticeField::checkField ( const LatticeField a) const

Check that the metadata of *this and a are compatible

Parameters
aThe LatticeField to which we are comparing

Definition at line 631 of file lattice_field.cpp.

References errorQuda, ghostExchange, nDim, QUDA_GHOST_EXCHANGE_EXTENDED, r, surface, surfaceCB, volume, volumeCB, and x.

Referenced by quda::GaugeField::checkField(), quda::cudaCloverField::copy(), and quda::cudaCloverField::saveCPUField().

Here is the caller graph for this function:

◆ commsQuery()

virtual int quda::LatticeField::commsQuery ( int  nFace,
int  dir,
int  dagger = 0,
cudaStream_t *  stream_p = NULL,
bool  gdr_send = false,
bool  gdr_recv = true 
)
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 614 of file lattice_field.h.

References errorQuda.

◆ commsStart()

virtual void quda::LatticeField::commsStart ( int  nFace,
int  dir,
int  dagger = 0,
cudaStream_t *  stream_p = NULL,
bool  gdr_send = false,
bool  gdr_recv = true 
)
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 611 of file lattice_field.h.

References errorQuda.

◆ commsWait()

virtual void quda::LatticeField::commsWait ( int  nFace,
int  dir,
int  dagger = 0,
cudaStream_t *  stream_p = NULL,
bool  gdr_send = false,
bool  gdr_recv = true 
)
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 617 of file lattice_field.h.

References errorQuda.

◆ createComms()

void quda::LatticeField::createComms ( bool  no_comms_fill = false,
bool  bidir = true 
)

Create the communication handlers (both host and device)

Parameters
[in]no_comms_fillWhether to allocate halo buffers for dimensions that are not partitioned
[in]bidirWhether to allocate communication buffers to allow for simultaneous bi-directional exchange. If false, then the forwards and backwards buffers will alias (saving memory).

Definition at line 300 of file lattice_field.cpp.

References checkCudaError, comm_barrier(), comm_declare_receive_relative, comm_declare_send_relative, comm_gdr_enabled(), commDimPartitioned(), destroyComms(), from_face_d, from_face_dim_dir_d, from_face_dim_dir_h, from_face_dim_dir_hd, from_face_h, from_face_hd, ghost_face_bytes, ghost_pinned_recv_buffer_h, ghost_pinned_recv_buffer_hd, ghost_pinned_send_buffer_h, ghost_pinned_send_buffer_hd, ghost_precision, ghost_recv_buffer_d, ghost_send_buffer_d, ghostOffset, initComms, mh_recv_back, mh_recv_fwd, mh_recv_rdma_back, mh_recv_rdma_fwd, mh_send_back, mh_send_fwd, mh_send_rdma_back, mh_send_rdma_fwd, my_face_d, my_face_dim_dir_d, my_face_dim_dir_h, my_face_dim_dir_hd, my_face_h, my_face_hd, nDimComms, and qudaDeviceSynchronize.

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

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

◆ createIPCComms()

void quda::LatticeField::createIPCComms ( )

◆ destroyComms()

void quda::LatticeField::destroyComms ( )

◆ destroyIPCComms()

void quda::LatticeField::destroyIPCComms ( )
static

Destroy the statically allocated inter-process communication handlers

Definition at line 556 of file lattice_field.cpp.

References checkCudaError, comm_barrier(), comm_dim(), comm_free(), comm_peer2peer_enabled(), ghost_remote_send_buffer_d, initIPCComms, ipcCopyEvent, mh_recv_p2p_back, mh_recv_p2p_fwd, mh_send_p2p_back, mh_send_p2p_fwd, and qudaDeviceSynchronize.

Referenced by quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and freeGhostBuffer().

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

◆ freeGhostBuffer()

void quda::LatticeField::freeGhostBuffer ( void  )
static

Free statically allocated ghost buffers.

Definition at line 271 of file lattice_field.cpp.

References destroyIPCComms(), device_pinned_free, ghost_pinned_recv_buffer_h, ghost_pinned_recv_buffer_hd, ghost_pinned_send_buffer_h, ghost_pinned_send_buffer_hd, ghost_recv_buffer_d, ghost_send_buffer_d, host_free, and initGhostFaceBuffer.

Referenced by endQuda().

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

◆ gather()

virtual void quda::LatticeField::gather ( int  nFace,
int  dagger,
int  dir,
cudaStream_t *  stream_p = NULL 
)
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 608 of file lattice_field.h.

References errorQuda.

◆ GBytes()

size_t quda::LatticeField::GBytes ( ) const
inline
Returns
The total storage allocated

Definition at line 588 of file lattice_field.h.

◆ getIPCCopyEvent()

const cudaEvent_t & quda::LatticeField::getIPCCopyEvent ( int  dir,
int  dim 
) const

Handle to local copy event used for peer-to-peer synchronization

Definition at line 612 of file lattice_field.cpp.

References bufferIndex, and ipcCopyEvent.

Referenced by quda::dslash::completeDslash().

Here is the caller graph for this function:

◆ getIPCRemoteCopyEvent()

const cudaEvent_t & quda::LatticeField::getIPCRemoteCopyEvent ( int  dir,
int  dim 
) const

Handle to remote copy event used for peer-to-peer synchronization

Definition at line 616 of file lattice_field.cpp.

References bufferIndex, and ipcRemoteCopyEvent.

Referenced by quda::dslash::commsComplete().

Here is the caller graph for this function:

◆ GhostExchange()

QudaGhostExchange quda::LatticeField::GhostExchange ( ) const
inline
Returns
Type of ghost exchange

Definition at line 541 of file lattice_field.h.

References quda::LatticeFieldParam::ghostExchange.

Referenced by quda::applyGaugePhase(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), quda::copyGenericGauge(), quda::gaugeGauss(), and quda::cudaGaugeField::saveCPUField().

Here is the caller graph for this function:

◆ GhostPrecision()

QudaPrecision quda::LatticeField::GhostPrecision ( ) const
inline
Returns
The ghost precision

Definition at line 551 of file lattice_field.h.

References quda::LatticeFieldParam::ghost_precision.

Referenced by quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::bytes(), and quda::Dslash< Float >::setParam().

Here is the caller graph for this function:

◆ ipcCopyComplete()

bool quda::LatticeField::ipcCopyComplete ( int  dir,
int  dim 
)
inline

Helper function to determine if local-to-remote (send) peer-to-peer copy is complete

Definition at line 602 of file lattice_field.cpp.

References bufferIndex, and ipcCopyEvent.

◆ ipcRemoteCopyComplete()

bool quda::LatticeField::ipcRemoteCopyComplete ( int  dir,
int  dim 
)
inline

Helper function to determine if local-to-remote (receive) peer-to-peer copy is complete

Definition at line 607 of file lattice_field.cpp.

References bufferIndex, and ipcRemoteCopyEvent.

◆ Location()

QudaFieldLocation quda::LatticeField::Location ( ) const
Returns
The location of the field

Definition at line 660 of file lattice_field.cpp.

References errorQuda, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, and QUDA_INVALID_FIELD_LOCATION.

Referenced by quda::gauge::Accessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, storeFloat, use_tex >::Accessor(), quda::SpinorNoise< real, Ns, Nc, type, Arg >::advanceTuneParam(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::advanceTuneParam(), quda::GaugePlaq< Float, Gauge >::apply(), quda::Staggered< Float, nDim, nColor, Arg >::apply(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::apply(), quda::GaugeGauss< Float, Arg >::apply(), quda::Dslash5< Float, nColor, Arg >::apply(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::apply(), quda::GaugeOvrImpSTOUT< Float, Arg >::apply(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::apply(), quda::Gamma< ValueType, basis, dir >::apply(), quda::TwistGamma< Float, nColor, Arg >::apply(), quda::Clover< Float, nSpin, nColor, Arg >::apply(), quda::TwistClover< Float, nSpin, nColor, Arg >::apply(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::CalculateY(), quda::blas::caxpyXmazMR(), quda::colorSpinorParam(), quda::compile_type_str(), quda::computeMomAction(), quda::blas::copy(), quda::ColorSpinorField::CreateCoarse(), quda::ColorSpinorField::CreateFine(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::ColorSpinorField::fill(), quda::clover::FloatNOrder< Float, length, N, add_rho, huge_alloc >::FloatNOrder(), quda::colorspinor::FloatNOrder< Float, Ns, Nc, N, spin_project, huge_alloc >::FloatNOrder(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder(), quda::forceRecord(), quda::gaugeForce(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::GenericPackGhostLauncher(), quda::Dslash< Float >::instantiate(), quda::Location_(), quda::Transfer::P(), quda::plaquette(), quda::Transfer::R(), quda::SpinorNoise< real, Ns, Nc, type, Arg >::SpinorNoise(), quda::spinorNoise(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::tuneKey(), quda::updateGaugeField(), and quda::updateMomentum().

Here is the caller graph for this function:

◆ MemType()

virtual QudaMemoryType quda::LatticeField::MemType ( ) const
inlinevirtual

◆ Ndim()

int quda::LatticeField::Ndim ( ) const
inline
Returns
The dimension of the lattice

Definition at line 494 of file lattice_field.h.

References quda::LatticeFieldParam::nDim.

Referenced by quda::CloverFieldParam::CloverFieldParam(), quda::colorSpinorParam(), quda::copyExtendedGauge(), quda::copyGaugeEx(), and quda::CopyGauge< FloatOut, FloatIn, length, Arg >::set_ghost().

Here is the caller graph for this function:

◆ Nvec()

int quda::LatticeField::Nvec ( ) const
Returns
The vector storage length used for native fields , 2 for Float2, 4 for Float4

Definition at line 684 of file lattice_field.cpp.

References errorQuda, quda::ColorSpinorField::FieldOrder(), quda::CloverField::Order(), and quda::GaugeField::Order().

Here is the call graph for this function:

◆ Pad()

int quda::LatticeField::Pad ( ) const
inline
Returns
The field padding

Definition at line 531 of file lattice_field.h.

References quda::LatticeFieldParam::pad.

Referenced by quda::CloverFieldParam::CloverFieldParam(), and quda::colorSpinorParam().

Here is the caller graph for this function:

◆ Precision()

QudaPrecision quda::LatticeField::Precision ( ) const
inline
Returns
The field precision

Definition at line 546 of file lattice_field.h.

References quda::LatticeFieldParam::precision.

Referenced by quda::APEStep(), quda::ApplyClover(), quda::ApplyGamma(), quda::applyGaugePhase(), quda::ApplyTwistClover(), quda::ApplyTwistGamma(), quda::applyU(), quda::blas::axpbyz(), quda::blas::axpyBzpcx(), quda::blas::axpyCGNorm(), quda::blas::axpyZpbx(), quda::blas::BlasCuda< FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Functor >::BlasCuda(), quda::BlockOrthogonalize(), quda::TwistedClover< Float, nDim, nColor, Arg >::bytes(), quda::WilsonClover< Float, nDim, nColor, Arg >::bytes(), quda::DomainWall5D< 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::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::bytes(), quda::Dslash< Float >::bytes(), quda::calculateY(), quda::calculateYhat(), quda::canReuseResidentGauge(), quda::blas::caxpbypzYmbwcDotProductUYNormY(), quda::blas::caxpy(), quda::blas::caxpyBxpz(), quda::blas::caxpyBzpx(), checkClover(), checkGauge(), quda::Dirac::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), quda::Checksum(), quda::cloverDerivative(), quda::CloverFieldParam::CloverFieldParam(), quda::cloverInvert(), quda::CoarseCoarseOp(), quda::CoarseOp(), quda::ColorSpinorField::ColorSpinorField(), quda::colorSpinorParam(), quda::completeKSForce(), quda::cudaCloverField::compute(), quda::computeClover(), quda::computeCloverForce(), quda::computeCloverSigmaOprod(), quda::computeCloverSigmaTrace(), quda::computeFmunu(), quda::computeKSLongLinkForce(), quda::computeMomAction(), quda::computeQCharge(), quda::computeQChargeDensity(), quda::computeStaggeredOprod(), quda::contractQuda(), quda::blas::copy_ns::copy(), quda::cudaGaugeField::copy(), quda::copyExtendedColorSpinor(), quda::copyExtendedGauge(), quda::copyGauge(), quda::copyGaugeMG(), quda::copyGenericClover(), quda::copyGenericColorSpinor(), quda::copyGenericGauge(), quda::copyGenericGaugeMG(), createCloverQuda(), quda::ColorSpinorField::CreateCoarse(), quda::MG::createCoarseSolver(), createExtendedGauge(), quda::ColorSpinorField::CreateFine(), quda::DiracCoarse::createYhat(), quda::DslashCoarsePolicyTune::DslashCoarsePolicyTune(), quda::IncEigCG::eigCGsolve(), quda::extractExtendedGaugeGhost(), quda::extractGaugeGhost(), quda::extractGaugeGhostMG(), quda::clover::FloatNOrder< Float, length, N, add_rho, huge_alloc >::FloatNOrder(), quda::colorspinor::FloatNOrder< Float, Ns, Nc, N, spin_project, huge_alloc >::FloatNOrder(), quda::gaugefixingFFT(), quda::gaugefixingOVR(), quda::gaugeForce(), quda::gaugeGauss(), quda::MG::generateNullVectors(), quda::genericCompare(), quda::genericCudaPrintVector(), quda::genericPrintVector(), quda::genericSource(), quda::getLinkDeterminant(), quda::getLinkTrace(), quda::InitGaugeField(), quda::instantiate(), invertQuda(), quda::isUnitary(), loadSloppyCloverQuda(), loadSloppyGaugeQuda(), quda::blas::mixed_blas(), quda::blas::mixed_reduce(), quda::Monte(), quda::Deflation::operator()(), quda::DslashCoarseLaunch::operator()(), quda::CG::operator()(), quda::CG3::operator()(), quda::CG3NE::operator()(), quda::PreconCG::operator()(), quda::BiCGstab::operator()(), quda::BiCGstabL::operator()(), quda::GCR::operator()(), quda::MultiShiftCG::operator()(), quda::OvrImpSTOUTStep(), quda::PackGhost(), quda::PGaugeExchange(), quda::Precision_(), quda::projectSU3(), quda::Prolongate(), qChargeDensityQuda(), qChargeQuda(), quda::blas::ReduceCuda< doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::ReduceCuda(), quda::MG::reset(), quda::IncEigCG::RestartVT(), quda::Restrict(), quda::cudaGaugeField::saveCPUField(), quda::setDiracParam(), quda::setDiracPreParam(), quda::setDiracRefineParam(), quda::setDiracSloppyParam(), quda::shiftColorSpinorField(), quda::spinorNoise(), quda::STOUTStep(), quda::blas::tripleCGUpdate(), quda::blas::uni_blas(), quda::blas::uni_reduce(), quda::unitarizeLinks(), quda::unitarizeLinksCPU(), quda::updateGaugeField(), quda::updateMomentum(), quda::MG::verify(), quda::wuppertalStep(), and quda::GCR::~GCR().

◆ precisionCheck()

void quda::LatticeField::precisionCheck ( )
inlineprotected

Definition at line 389 of file lattice_field.h.

References errorQuda, QUDA_DOUBLE_PRECISION, QUDA_HALF_PRECISION, QUDA_QUARTER_PRECISION, and QUDA_SINGLE_PRECISION.

Referenced by LatticeField().

Here is the caller graph for this function:

◆ R()

const int* quda::LatticeField::R ( ) const
inline

◆ read()

void quda::LatticeField::read ( char *  filename)
virtual

Read in the field specified by filenemae

Parameters
filenameThe name of the file to read

Definition at line 676 of file lattice_field.cpp.

References errorQuda.

◆ restore()

virtual void quda::LatticeField::restore ( ) const
inlinevirtual

◆ Scale() [1/2]

double quda::LatticeField::Scale ( ) const
inline

◆ Scale() [2/2]

void quda::LatticeField::Scale ( double  scale_)
inline

Set the scale factor for a fixed-point field.

Parameters
[in]scale_The new scale factor

Definition at line 562 of file lattice_field.h.

◆ scatter()

virtual void quda::LatticeField::scatter ( int  nFace,
int  dagger,
int  dir 
)
inlinevirtual

Reimplemented in quda::cudaColorSpinorField.

Definition at line 620 of file lattice_field.h.

References errorQuda.

◆ setTuningString()

void quda::LatticeField::setTuningString ( )
protectedvirtual

Sets the vol_string for use in tuning

Reimplemented in quda::ColorSpinorField, and quda::GaugeField.

Definition at line 620 of file lattice_field.cpp.

References errorQuda, nDim, vol_string, quda::TuneKey::volume_n, and x.

Referenced by LatticeField(), and quda::GaugeField::setTuningString().

Here is the caller graph for this function:

◆ SiteSubset()

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

Reimplemented in quda::ColorSpinorField.

Definition at line 567 of file lattice_field.h.

References quda::LatticeFieldParam::siteSubset.

◆ Stride()

int quda::LatticeField::Stride ( ) const
inline
Returns
The single-parity stride of the field

Definition at line 526 of file lattice_field.h.

Referenced by quda::DslashCoarsePolicyTune::bytes().

Here is the caller graph for this function:

◆ SurfaceCB() [1/2]

const int* quda::LatticeField::SurfaceCB ( ) const
inline
Parameters
iThe dimension of the requested surface
Returns
The single-parity surface of dimension i

Definition at line 515 of file lattice_field.h.

Referenced by quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::bytes(), quda::CopyGaugeArg< OutOrder, InOrder >::CopyGaugeArg(), quda::copyGaugeEx(), quda::ExtractGhostArg< Float, nColor_, Order, nDim >::ExtractGhostArg(), quda::extractGhostEx(), quda::colorspinor::FloatNOrder< Float, Ns, Nc, N, spin_project, huge_alloc >::FloatNOrder(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder(), quda::gauge::GhostAccessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, native_ghost, storeFloat, use_tex >::GhostAccessor(), quda::gauge::GhostAccessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, native_ghost, storeFloat, use_tex >::GhostAccessor(), quda::gauge::GhostAccessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, native_ghost, storeFloat, use_tex >::GhostAccessor(), quda::colorspinor::GhostAccessorCB< Float, nSpin, nColor, nVec, QUDA_SPACE_SPIN_COLOR_FIELD_ORDER >::GhostAccessorCB(), quda::colorspinor::GhostAccessorCB< Float, nSpin, nColor, nVec, QUDA_FLOAT2_FIELD_ORDER >::GhostAccessorCB(), quda::colorspinor::GhostAccessorCB< Float, nSpin, nColor, nVec, QUDA_FLOAT4_FIELD_ORDER >::GhostAccessorCB(), quda::gauge::LegacyOrder< Float, length >::LegacyOrder(), quda::colorspinor::SpaceColorSpinorOrder< Float, Ns, Nc >::SpaceColorSpinorOrder(), and quda::colorspinor::SpaceSpinorColorOrder< Float, Ns, Nc >::SpaceSpinorColorOrder().

Here is the caller graph for this function:

◆ SurfaceCB() [2/2]

int quda::LatticeField::SurfaceCB ( const int  i) const
inline
Parameters
iThe dimension of the requested surface
Returns
The single-parity surface of dimension i

Definition at line 521 of file lattice_field.h.

◆ VolString()

const char* quda::LatticeField::VolString ( ) const
inline

Return the volume string used by the autotuner

Definition at line 624 of file lattice_field.h.

Referenced by quda::computeMomAction(), quda::blas::copy_ns::copy(), quda::forceRecord(), quda::isUnitary(), quda::GaugePlaq< Float, Gauge >::tuneKey(), quda::Wilson< Float, nDim, nColor, Arg >::tuneKey(), quda::DomainWall4D< Float, nDim, nColor, Arg >::tuneKey(), quda::TwistedMass< Float, nDim, nColor, Arg >::tuneKey(), quda::CopySpinor< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder >::tuneKey(), quda::NdegTwistedMass< Float, nDim, nColor, Arg >::tuneKey(), quda::TwistedMassPreconditioned< Float, nDim, nColor, Arg >::tuneKey(), quda::blas::BlasCuda< FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Functor >::tuneKey(), quda::DomainWall5D< Float, nDim, nColor, Arg >::tuneKey(), quda::TwistedClover< Float, nDim, nColor, Arg >::tuneKey(), quda::WilsonClover< Float, nDim, nColor, Arg >::tuneKey(), quda::CopyGauge< FloatOut, FloatIn, length, Arg >::tuneKey(), quda::SpinorNoise< real, Ns, Nc, type, Arg >::tuneKey(), quda::NdegTwistedMassPreconditioned< Float, nDim, nColor, Arg >::tuneKey(), quda::WilsonCloverPreconditioned< Float, nDim, nColor, Arg >::tuneKey(), quda::TwistedCloverPreconditioned< Float, nDim, nColor, Arg >::tuneKey(), quda::GaugeGauss< Float, Arg >::tuneKey(), quda::KSForceComplete< Float, Oprod, Gauge, Mom >::tuneKey(), quda::CopyGaugeEx< FloatOut, FloatIn, length, OutOrder, InOrder >::tuneKey(), quda::Laplace< Float, nDim, nColor, Arg >::tuneKey(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::tuneKey(), quda::Staggered< Float, nDim, nColor, Arg >::tuneKey(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::tuneKey(), quda::CopyColorSpinor< Ns, Arg >::tuneKey(), quda::GaugeOvrImpSTOUT< Float, Arg >::tuneKey(), quda::Dslash5< Float, nColor, Arg >::tuneKey(), quda::ExtractGhost< nDim, Arg >::tuneKey(), quda::ExtractGhostEx< Float, length, nDim, dim, Order >::tuneKey(), quda::blas::ReduceCuda< doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::tuneKey(), quda::CopySpinorEx< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder, Basis, extend >::tuneKey(), quda::CopyColorSpinor< 4, Arg >::tuneKey(), quda::Gamma< ValueType, basis, dir >::tuneKey(), quda::Pack< Float, nColor, spin_project >::tuneKey(), quda::KSLongLinkForce< Float, Result, Oprod, Gauge >::tuneKey(), quda::TwistGamma< Float, nColor, Arg >::tuneKey(), quda::ProjectSU3< Float, G >::tuneKey(), quda::Clover< Float, nSpin, nColor, Arg >::tuneKey(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::tuneKey(), quda::DslashCoarsePolicyTune::tuneKey(), quda::TwistClover< Float, nSpin, nColor, Arg >::tuneKey(), and quda::updateMomentum().

Here is the caller graph for this function:

◆ Volume()

int quda::LatticeField::Volume ( ) const
inline
Returns
The full-field volume

Definition at line 504 of file lattice_field.h.

Referenced by quda::Dirac::checkParitySpinor(), hisq_force_init(), hisq_force_test(), quda::isUnitary(), qChargeDensityQuda(), TEST(), and quda::unitarizeLinksCPU().

Here is the caller graph for this function:

◆ VolumeCB()

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

◆ write()

void quda::LatticeField::write ( char *  filename)
virtual

Write the field in the file specified by filename

Parameters
filenameThe name of the file to write

Definition at line 680 of file lattice_field.cpp.

References errorQuda.

◆ X()

const int* quda::LatticeField::X ( ) const
inline
Returns
The pointer to the lattice-dimension array

Definition at line 499 of file lattice_field.h.

References quda::LatticeFieldParam::x.

Referenced by quda::ApplyImprovedStaggered(), quda::gauge::BQCDOrder< Float, length >::BQCDOrder(), quda::calculateY(), quda::cloverDerivative(), quda::CloverFieldParam::CloverFieldParam(), cloverQuda(), quda::CoarseOp(), quda::colorSpinorParam(), quda::completeKSForce(), quda::computeKSLongLinkForce(), quda::computeMomAction(), quda::copyExtendedGauge(), quda::copyGaugeEx(), createCloverQuda(), createExtendedGauge(), quda::deflated_solver::deflated_solver(), eigensolveQuda(), quda::extractGhost(), quda::ExtractGhostArg< Float, nColor_, Order, nDim >::ExtractGhostArg(), quda::extractGhostEx(), quda::fatLongKSLink(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder(), quda::FmunuArg< Float, Fmunu, Gauge >::FmunuArg(), quda::forceRecord(), quda::GaugeAPEArg< Float, GaugeOr, GaugeDs >::GaugeAPEArg(), quda::GaugeGaussArg< Float, recon, group_ >::GaugeGaussArg(), quda::GaugeOvrImpSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeOvrImpSTOUTArg(), quda::GaugePlaqArg< Gauge >::GaugePlaqArg(), quda::GaugeSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeSTOUTArg(), invert_multishift_quda_(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), quda::LatticeFieldParam::LatticeFieldParam(), loadCloverQuda(), quda::multigrid_solver::multigrid_solver(), performWuppertalnStep(), qChargeDensityQuda(), qChargeQuda(), quda::RNG::RNG(), quda::gauge::TIFRPaddedOrder< Float, length >::TIFRPaddedOrder(), and quda::updateMomentum().

Here is the caller graph for this function:

Member Data Documentation

◆ aux_string

char quda::LatticeField::aux_string[TuneKey::aux_n]
protected

used as a label in the autotuner

Definition at line 381 of file lattice_field.h.

Referenced by quda::GaugeField::setTuningString(), and quda::ColorSpinorField::setTuningString().

◆ backed_up

bool quda::LatticeField::backed_up
mutableprotected

◆ backup_h

char* quda::LatticeField::backup_h
mutableprotected

◆ backup_norm_h

char* quda::LatticeField::backup_norm_h
mutableprotected

◆ buffer_recv_p2p_back

int quda::LatticeField::buffer_recv_p2p_back { }
staticprotected

Buffer used by peer-to-peer message handler

Definition at line 363 of file lattice_field.h.

Referenced by createIPCComms().

◆ buffer_recv_p2p_fwd

int quda::LatticeField::buffer_recv_p2p_fwd { }
staticprotected

Buffer used by peer-to-peer message handler

Definition at line 357 of file lattice_field.h.

Referenced by createIPCComms().

◆ buffer_send_p2p_back

int quda::LatticeField::buffer_send_p2p_back { }
staticprotected

Buffer used by peer-to-peer message handler

Definition at line 360 of file lattice_field.h.

Referenced by createIPCComms().

◆ buffer_send_p2p_fwd

int quda::LatticeField::buffer_send_p2p_fwd { }
staticprotected

Buffer used by peer-to-peer message handler

Definition at line 354 of file lattice_field.h.

Referenced by createIPCComms().

◆ bufferIndex

int quda::LatticeField::bufferIndex = 0
static

Static variable that is determined which ghost buffer we are using

Definition at line 484 of file lattice_field.h.

Referenced by quda::calculateY(), quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaColorSpinorField::gather(), getIPCCopyEvent(), getIPCRemoteCopyEvent(), quda::cudaGaugeField::injectGhost(), ipcCopyComplete(), ipcRemoteCopyComplete(), quda::dslash::issueGather(), quda::dslash::issuePack(), 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::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::cudaColorSpinorField::packGhost(), quda::cudaGaugeField::recvStart(), quda::cudaColorSpinorField::recvStart(), quda::cudaColorSpinorField::scatter(), quda::cudaColorSpinorField::scatterExtended(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), quda::dslash::setMappedGhost(), quda::cudaColorSpinorField::unpackGhost(), and quda::wuppertalStep().

◆ from_face_d

void* quda::LatticeField::from_face_d[2]
protected

Device memory buffer for receiving messages

Definition at line 306 of file lattice_field.h.

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

◆ from_face_dim_dir_d

void* quda::LatticeField::from_face_dim_dir_d[2][QUDA_MAX_DIM][2]
protected

◆ from_face_dim_dir_h

void* quda::LatticeField::from_face_dim_dir_h[2][QUDA_MAX_DIM][2]
protected

◆ from_face_dim_dir_hd

void* quda::LatticeField::from_face_dim_dir_hd[2][QUDA_MAX_DIM][2]
protected

Local pointers to the mapped from_face buffer

Definition at line 312 of file lattice_field.h.

Referenced by createComms(), quda::cudaColorSpinorField::exchangeGhost(), and LatticeField().

◆ from_face_h

void* quda::LatticeField::from_face_h[2]
protected

◆ from_face_hd

void* quda::LatticeField::from_face_hd[2]
protected

Mapped version of from_face_h

Definition at line 301 of file lattice_field.h.

Referenced by createComms(), and LatticeField().

◆ ghost_bytes

size_t quda::LatticeField::ghost_bytes
mutableprotected

◆ ghost_bytes_old

size_t quda::LatticeField::ghost_bytes_old
mutableprotected

Size in bytes of prior ghost allocation

Definition at line 252 of file lattice_field.h.

Referenced by quda::cudaGaugeField::createComms(), and quda::GaugeField::createGhostZone().

◆ ghost_face_bytes

size_t quda::LatticeField::ghost_face_bytes[QUDA_MAX_DIM]
mutableprotected

◆ ghost_field_reset

bool quda::LatticeField::ghost_field_reset = false
static

Bool which is triggered if the ghost field is reset

Definition at line 489 of file lattice_field.h.

Referenced by quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and createIPCComms().

◆ ghost_pinned_recv_buffer_h

void * quda::LatticeField::ghost_pinned_recv_buffer_h = {nullptr, nullptr}
staticprotected

Double buffered static pinned recv buffers

Definition at line 217 of file lattice_field.h.

Referenced by allocateGhostBuffer(), createComms(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and freeGhostBuffer().

◆ ghost_pinned_recv_buffer_hd

void * quda::LatticeField::ghost_pinned_recv_buffer_hd = {nullptr, nullptr}
staticprotected

◆ ghost_pinned_send_buffer_h

void * quda::LatticeField::ghost_pinned_send_buffer_h = {nullptr, nullptr}
staticprotected

Double buffered static pinned send buffers

Definition at line 212 of file lattice_field.h.

Referenced by allocateGhostBuffer(), createComms(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and freeGhostBuffer().

◆ ghost_pinned_send_buffer_hd

void * quda::LatticeField::ghost_pinned_send_buffer_hd = {nullptr, nullptr}
staticprotected

Mapped version of pinned send buffers

Definition at line 222 of file lattice_field.h.

Referenced by allocateGhostBuffer(), createComms(), and freeGhostBuffer().

◆ ghost_precision

QudaPrecision quda::LatticeField::ghost_precision
mutableprotected

◆ ghost_precision_reset

bool quda::LatticeField::ghost_precision_reset
mutableprotected

Bool which is triggered if the ghost precision is reset

Definition at line 177 of file lattice_field.h.

Referenced by quda::cudaColorSpinorField::allocateGhostBuffer(), quda::cudaColorSpinorField::createComms(), and quda::cudaColorSpinorField::exchangeGhost().

◆ ghost_recv_buffer_d

void * quda::LatticeField::ghost_recv_buffer_d = {nullptr, nullptr}
staticprotected

◆ ghost_remote_send_buffer_d

void * quda::LatticeField::ghost_remote_send_buffer_d
staticprotected

◆ ghost_send_buffer_d

void * quda::LatticeField::ghost_send_buffer_d = {nullptr, nullptr}
staticprotected

◆ ghostExchange

QudaGhostExchange quda::LatticeField::ghostExchange
protected

◆ ghostFaceBytes

size_t quda::LatticeField::ghostFaceBytes = 0
staticprotected

The current size of the static ghost allocation

Definition at line 237 of file lattice_field.h.

Referenced by allocateGhostBuffer().

◆ ghostNormOffset

int quda::LatticeField::ghostNormOffset[QUDA_MAX_DIM][2]
mutableprotected

Real-number (in floats) offsets to each ghost zone for norm field

Definition at line 267 of file lattice_field.h.

Referenced by quda::cudaColorSpinorField::createComms(), quda::ColorSpinorField::createGhostZone(), and LatticeField().

◆ ghostOffset

int quda::LatticeField::ghostOffset[QUDA_MAX_DIM][2]
mutableprotected

◆ initComms

bool quda::LatticeField::initComms
protected

Whether we have initialized communication for this field

Definition at line 372 of file lattice_field.h.

Referenced by createComms(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), createIPCComms(), destroyComms(), and LatticeField().

◆ initGhostFaceBuffer

bool quda::LatticeField::initGhostFaceBuffer = false
staticprotected

Whether the ghost buffers have been initialized

Definition at line 242 of file lattice_field.h.

Referenced by allocateGhostBuffer(), and freeGhostBuffer().

◆ initIPCComms

bool quda::LatticeField::initIPCComms = false
staticprotected

Whether we have initialized peer-to-peer communication

Definition at line 375 of file lattice_field.h.

Referenced by createIPCComms(), and destroyIPCComms().

◆ ipcCopyEvent

cudaEvent_t quda::LatticeField::ipcCopyEvent
staticprotected

◆ ipcRemoteCopyEvent

cudaEvent_t quda::LatticeField::ipcRemoteCopyEvent
staticprotected

◆ mem_type

QudaMemoryType quda::LatticeField::mem_type
protected

◆ mh_recv_back

MsgHandle* quda::LatticeField::mh_recv_back[2][QUDA_MAX_DIM]
protected

◆ mh_recv_fwd

MsgHandle* quda::LatticeField::mh_recv_fwd[2][QUDA_MAX_DIM]
protected

◆ mh_recv_p2p_back

MsgHandle * quda::LatticeField::mh_recv_p2p_back { }
staticprotected

◆ mh_recv_p2p_fwd

MsgHandle * quda::LatticeField::mh_recv_p2p_fwd { }
staticprotected

◆ mh_recv_rdma_back

MsgHandle* quda::LatticeField::mh_recv_rdma_back[2][QUDA_MAX_DIM]
protected

◆ mh_recv_rdma_fwd

MsgHandle* quda::LatticeField::mh_recv_rdma_fwd[2][QUDA_MAX_DIM]
protected

◆ mh_send_back

MsgHandle* quda::LatticeField::mh_send_back[2][QUDA_MAX_DIM]
protected

◆ mh_send_fwd

MsgHandle* quda::LatticeField::mh_send_fwd[2][QUDA_MAX_DIM]
protected

◆ mh_send_p2p_back

MsgHandle * quda::LatticeField::mh_send_p2p_back { }
staticprotected

◆ mh_send_p2p_fwd

MsgHandle * quda::LatticeField::mh_send_p2p_fwd { }
staticprotected

◆ mh_send_rdma_back

MsgHandle* quda::LatticeField::mh_send_rdma_back[2][QUDA_MAX_DIM]
protected

◆ mh_send_rdma_fwd

MsgHandle* quda::LatticeField::mh_send_rdma_fwd[2][QUDA_MAX_DIM]
protected

◆ my_face_d

void* quda::LatticeField::my_face_d[2]
protected

Device memory buffer for sending messages

Definition at line 282 of file lattice_field.h.

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

◆ my_face_dim_dir_d

void* quda::LatticeField::my_face_dim_dir_d[2][QUDA_MAX_DIM][2]
protected

◆ my_face_dim_dir_h

void* quda::LatticeField::my_face_dim_dir_h[2][QUDA_MAX_DIM][2]
protected

◆ my_face_dim_dir_hd

void* quda::LatticeField::my_face_dim_dir_hd[2][QUDA_MAX_DIM][2]
protected

Local pointers to the mapped my_face buffer

Definition at line 288 of file lattice_field.h.

Referenced by createComms(), quda::cudaColorSpinorField::exchangeGhost(), LatticeField(), and quda::cudaColorSpinorField::packGhost().

◆ my_face_h

void* quda::LatticeField::my_face_h[2]
protected

◆ my_face_hd

void* quda::LatticeField::my_face_hd[2]
protected

Mapped version of my_face_h

Definition at line 277 of file lattice_field.h.

Referenced by createComms(), and LatticeField().

◆ nDim

int quda::LatticeField::nDim
protected

◆ nDimComms

int quda::LatticeField::nDimComms
protected

◆ pad

int quda::LatticeField::pad
protected

◆ precision

QudaPrecision quda::LatticeField::precision
protected

Precision of the field

Definition at line 171 of file lattice_field.h.

Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), quda::CloverField::CloverField(), quda::cudaCloverField::compute(), quda::cudaCloverField::copy(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), quda::cudaColorSpinorField::CopySubset(), quda::cpuCloverField::cpuCloverField(), quda::cpuGaugeField::cpuGaugeField(), quda::ColorSpinorField::create(), quda::cudaColorSpinorField::create(), quda::cpuColorSpinorField::create(), quda::cudaCloverField::cudaCloverField(), quda::cudaGaugeField::cudaGaugeField(), quda::cudaColorSpinorField::destroy(), quda::GaugeField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::ColorSpinorField::fill(), quda::GaugeField::GaugeField(), quda::cpuGaugeField::injectGhost(), quda::CloverField::isNative(), quda::GaugeField::isNative(), quda::ColorSpinorField::isNative(), LatticeField(), quda::operator<<(), quda::ColorSpinorField::operator=(), quda::cudaColorSpinorField::packGhost(), quda::ColorSpinorField::reset(), quda::cudaCloverField::saveCPUField(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), quda::GaugeField::setTuningString(), quda::ColorSpinorField::setTuningString(), quda::cudaColorSpinorField::Source(), quda::cudaColorSpinorField::zero(), quda::cudaGaugeField::zeroPad(), and quda::cudaColorSpinorField::zeroPad().

◆ r

int quda::LatticeField::r[QUDA_MAX_DIM]
protected

The extended lattice radius (if applicable)

Definition at line 168 of file lattice_field.h.

Referenced by checkField(), and LatticeField().

◆ scale

double quda::LatticeField::scale
protected

For fixed-point fields that need a global scaling factor

Definition at line 180 of file lattice_field.h.

◆ siteSubset

QudaSiteSubset quda::LatticeField::siteSubset
protected

Whether the field is full or single parity

Definition at line 183 of file lattice_field.h.

Referenced by LatticeField().

◆ stride

int quda::LatticeField::stride
protected

◆ surface

int quda::LatticeField::surface[QUDA_MAX_DIM]
protected

◆ surfaceCB

int quda::LatticeField::surfaceCB[QUDA_MAX_DIM]
protected

◆ total_bytes

size_t quda::LatticeField::total_bytes
protected

◆ vol_string

char quda::LatticeField::vol_string[TuneKey::volume_n]
protected

Used as a label in the autotuner

Definition at line 378 of file lattice_field.h.

Referenced by setTuningString(), and quda::ColorSpinorField::setTuningString().

◆ volume

int quda::LatticeField::volume
protected

◆ volumeCB

int quda::LatticeField::volumeCB
protected

Checkerboarded volume

Definition at line 151 of file lattice_field.h.

Referenced by checkField(), quda::CloverField::CloverField(), LatticeField(), and quda::cudaGaugeField::zeroPad().

◆ x

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

Array storing the length of dimension

Definition at line 162 of file lattice_field.h.

Referenced by checkField(), quda::cpuGaugeField::cpuGaugeField(), LatticeField(), and setTuningString().


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