QUDA
1.0.0
|
#include <lattice_field.h>
Public Member Functions | |
LatticeField (const LatticeFieldParam ¶m) | |
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... | |
![]() | |
Object () | |
virtual | ~Object () |
Static Public Member Functions | |
static void | freeGhostBuffer (void) |
Free statically allocated ghost buffers. More... | |
static void | destroyIPCComms () |
![]() | |
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 () |
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 MsgHandle * | mh_send_p2p_fwd [2][QUDA_MAX_DIM] { } |
static MsgHandle * | mh_send_p2p_back [2][QUDA_MAX_DIM] { } |
static MsgHandle * | mh_recv_p2p_fwd [2][QUDA_MAX_DIM] { } |
static MsgHandle * | mh_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 |
Definition at line 144 of file lattice_field.h.
quda::LatticeField::LatticeField | ( | const LatticeFieldParam & | param | ) |
Constructor for creating a LatticeField from a LatticeFieldParam
param | Contains the metadata for creating the LatticeField |
Definition at line 59 of file lattice_field.cpp.
References backed_up, backup_h, backup_norm_h, errorQuda, from_face_d, from_face_dim_dir_d, from_face_dim_dir_h, from_face_dim_dir_hd, from_face_h, from_face_hd, ghostExchange, ghostNormOffset, ghostOffset, initComms, mem_type, 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, nDim, nDimComms, pad, param, precision, precisionCheck(), QUDA_DOUBLE_PRECISION, QUDA_FULL_SITE_SUBSET, QUDA_GHOST_EXCHANGE_EXTENDED, QUDA_HALF_PRECISION, QUDA_INVALID_SITE_SUBSET, QUDA_MAX_DIM, QUDA_QUARTER_PRECISION, QUDA_SINGLE_PRECISION, r, setTuningString(), siteSubset, stride, surface, surfaceCB, volume, volumeCB, and x.
quda::LatticeField::LatticeField | ( | const LatticeField & | field | ) |
Constructor for creating a LatticeField from another LatticeField
field | Instance of LatticeField from which we are inheriting metadata |
Definition at line 149 of file lattice_field.cpp.
References backed_up, backup_h, backup_norm_h, errorQuda, from_face_d, from_face_h, from_face_hd, ghostExchange, ghostNormOffset, ghostOffset, initComms, mem_type, 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_h, my_face_hd, nDim, nDimComms, pad, precisionCheck(), QUDA_FULL_SITE_SUBSET, QUDA_GHOST_EXCHANGE_EXTENDED, QUDA_INVALID_SITE_SUBSET, QUDA_MAX_DIM, r, setTuningString(), siteSubset, stride, surface, surfaceCB, volume, volumeCB, and x.
|
virtual |
Destructor for LatticeField
Definition at line 218 of file lattice_field.cpp.
void quda::LatticeField::allocateGhostBuffer | ( | size_t | ghost_bytes | ) | const |
Allocate the static ghost buffers.
[in] | ghost_bytes | Size 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().
|
inline |
Return the aux string used by the autotuner
Definition at line 627 of file lattice_field.h.
Referenced by quda::blas::BlasCuda< FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Functor >::BlasCuda(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::CalculateY(), quda::Clover< Float, nSpin, nColor, Arg >::Clover(), quda::blas::copy_ns::copy(), quda::CopyGauge< FloatOut, FloatIn, length, Arg >::CopyGauge(), quda::Dslash5< Float, nColor, Arg >::Dslash5(), quda::DslashCoarsePolicyTune::DslashCoarsePolicyTune(), quda::Pack< Float, nColor, spin_project >::fillAux(), quda::Gamma< ValueType, basis, dir >::Gamma(), quda::GenericPackGhostLauncher< Float, block_float, Ns, Ms, Nc, Mc, Arg >::GenericPackGhostLauncher(), quda::blas::ReduceCuda< doubleN, ReduceType, FloatN, M, SpinorX, SpinorY, SpinorZ, SpinorW, SpinorV, Reducer >::ReduceCuda(), quda::SpinorNoise< real, Ns, Nc, type, Arg >::SpinorNoise(), quda::CopySpinor< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder >::tuneKey(), quda::GaugeGauss< Float, Arg >::tuneKey(), quda::TwistClover< Float, nSpin, nColor, Arg >::TwistClover(), quda::TwistGamma< Float, nColor, Arg >::TwistGamma(), and quda::WuppertalSmearing< Float, Ns, Nc, Arg >::WuppertalSmearing().
|
inlinevirtual |
Backs up the LatticeField.
Reimplemented in quda::cpuColorSpinorField, quda::cudaColorSpinorField, quda::cpuGaugeField, and quda::cudaGaugeField.
Definition at line 630 of file lattice_field.h.
References errorQuda.
Referenced by quda::Dslash< Float >::preTune(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::preTune().
void quda::LatticeField::checkField | ( | const LatticeField & | a | ) | const |
Check that the metadata of *this and a are compatible
a | The 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().
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 614 of file lattice_field.h.
References errorQuda.
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 611 of file lattice_field.h.
References errorQuda.
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 617 of file lattice_field.h.
References errorQuda.
void quda::LatticeField::createComms | ( | bool | no_comms_fill = false , |
bool | bidir = true |
||
) |
Create the communication handlers (both host and device)
[in] | no_comms_fill | Whether to allocate halo buffers for dimensions that are not partitioned |
[in] | bidir | Whether 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().
void quda::LatticeField::createIPCComms | ( | ) |
Create the inter-process communication handlers
Definition at line 412 of file lattice_field.cpp.
References buffer_recv_p2p_back, buffer_recv_p2p_fwd, buffer_send_p2p_back, buffer_send_p2p_fwd, checkCudaError, comm_declare_receive_relative, comm_declare_send_relative, comm_dim(), comm_free(), comm_peer2peer_enabled(), comm_size(), comm_start(), comm_wait(), errorQuda, ghost_field_reset, ghost_recv_buffer_d, ghost_remote_send_buffer_d, initComms, initIPCComms, ipcCopyEvent, ipcRemoteCopyEvent, mh_recv_p2p_back, mh_recv_p2p_fwd, mh_send_p2p_back, mh_send_p2p_fwd, and QUDA_MAX_DIM.
Referenced by quda::cudaGaugeField::createComms(), and quda::cudaColorSpinorField::createComms().
void quda::LatticeField::destroyComms | ( | ) |
Destroy the communication handlers
Definition at line 379 of file lattice_field.cpp.
References checkCudaError, comm_barrier(), comm_free(), 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, nDimComms, and qudaDeviceSynchronize.
Referenced by createComms(), quda::cudaColorSpinorField::operator=(), quda::cudaColorSpinorField::~cudaColorSpinorField(), and quda::cudaGaugeField::~cudaGaugeField().
|
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().
|
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().
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 608 of file lattice_field.h.
References errorQuda.
|
inline |
Definition at line 588 of file lattice_field.h.
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().
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().
|
inline |
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().
|
inline |
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().
|
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.
|
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.
QudaFieldLocation quda::LatticeField::Location | ( | ) | const |
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().
|
inlinevirtual |
Definition at line 572 of file lattice_field.h.
References quda::LatticeFieldParam::mem_type.
Referenced by quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::advanceTuneParam(), quda::CoarseCoarseOp(), quda::CoarseOp(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::tuneKey().
|
inline |
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().
int quda::LatticeField::Nvec | ( | ) | const |
Definition at line 684 of file lattice_field.cpp.
References errorQuda, quda::ColorSpinorField::FieldOrder(), quda::CloverField::Order(), and quda::GaugeField::Order().
|
inline |
Definition at line 531 of file lattice_field.h.
References quda::LatticeFieldParam::pad.
Referenced by quda::CloverFieldParam::CloverFieldParam(), and quda::colorSpinorParam().
|
inline |
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().
|
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().
|
inline |
Definition at line 536 of file lattice_field.h.
References quda::LatticeFieldParam::r.
Referenced by quda::computeMomAction(), quda::cudaGaugeField::exchangeGhost(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc, ghostExchange_, use_inphase >::FloatNOrder(), quda::GaugeAPEArg< Float, GaugeOr, GaugeDs >::GaugeAPEArg(), quda::gaugeGauss(), quda::GaugeGaussArg< Float, recon, group_ >::GaugeGaussArg(), quda::GaugeOvrImpSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeOvrImpSTOUTArg(), quda::GaugePlaqArg< Gauge >::GaugePlaqArg(), quda::GaugeSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeSTOUTArg(), hisq_force_test(), quda::cudaGaugeField::injectGhost(), quda::LatticeFieldParam::LatticeFieldParam(), and loadGaugeQuda().
|
virtual |
Read in the field specified by filenemae
filename | The name of the file to read |
Definition at line 676 of file lattice_field.cpp.
References errorQuda.
|
inlinevirtual |
Restores the LatticeField.
Reimplemented in quda::cpuColorSpinorField, quda::cudaColorSpinorField, quda::cpuGaugeField, and quda::cudaGaugeField.
Definition at line 633 of file lattice_field.h.
References errorQuda.
Referenced by quda::Dslash< Float >::postTune(), and quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::postTune().
|
inline |
Definition at line 556 of file lattice_field.h.
References quda::LatticeFieldParam::scale.
Referenced by quda::gauge::Accessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, storeFloat, use_tex >::Accessor(), quda::gauge::Accessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, storeFloat, use_tex >::Accessor(), quda::gauge::Accessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, storeFloat, use_tex >::Accessor(), quda::calculateY(), quda::copyGaugeMG(), quda::colorspinor::FieldOrderCB< Float, coarseSpin, coarseColor, 1, csOrder, Float, ghostFloat >::FieldOrderCB(), 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(), and quda::gauge::GhostAccessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, native_ghost, storeFloat, use_tex >::GhostAccessor().
|
inline |
Set the scale factor for a fixed-point field.
[in] | scale_ | The new scale factor |
Definition at line 562 of file lattice_field.h.
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 620 of file lattice_field.h.
References errorQuda.
|
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().
|
inlinevirtual |
Reimplemented in quda::ColorSpinorField.
Definition at line 567 of file lattice_field.h.
References quda::LatticeFieldParam::siteSubset.
|
inline |
Definition at line 526 of file lattice_field.h.
Referenced by quda::DslashCoarsePolicyTune::bytes().
|
inline |
i | The dimension of the requested surface |
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().
|
inline |
i | The dimension of the requested surface |
Definition at line 521 of file lattice_field.h.
|
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().
|
inline |
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().
|
inline |
Definition at line 509 of file lattice_field.h.
References volumeCB.
Referenced by quda::DslashCoarsePolicyTune::bytes(), quda::Dirac::checkParitySpinor(), quda::DiracClover::checkParitySpinor(), quda::DiracTwistedClover::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), quda::computeMomAction(), quda::forceRecord(), and quda::updateMomentum().
|
virtual |
Write the field in the file specified by filename
filename | The name of the file to write |
Definition at line 680 of file lattice_field.cpp.
References errorQuda.
|
inline |
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().
|
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().
|
mutableprotected |
Definition at line 403 of file lattice_field.h.
Referenced by quda::cudaGaugeField::backup(), quda::cpuGaugeField::backup(), quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), LatticeField(), quda::cudaGaugeField::restore(), quda::cpuGaugeField::restore(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
mutableprotected |
Definition at line 401 of file lattice_field.h.
Referenced by quda::cudaGaugeField::backup(), quda::cpuGaugeField::backup(), quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), LatticeField(), quda::cudaGaugeField::restore(), quda::cpuGaugeField::restore(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
mutableprotected |
Definition at line 402 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), LatticeField(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 363 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 357 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 360 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 354 of file lattice_field.h.
Referenced by createIPCComms().
|
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().
|
protected |
Device memory buffer for receiving messages
Definition at line 306 of file lattice_field.h.
Referenced by createComms(), quda::cudaColorSpinorField::createComms(), and LatticeField().
|
protected |
Local pointers to the device ghost_recv buffer
Definition at line 315 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), and LatticeField().
|
protected |
Local pointers to the pinned from_face buffer
Definition at line 309 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), LatticeField(), quda::cudaColorSpinorField::scatter(), and quda::cudaColorSpinorField::scatterExtended().
|
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().
|
protected |
Memory buffer used for receiving all messages
Definition at line 296 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), quda::cudaColorSpinorField::exchangeGhost(), and LatticeField().
|
protected |
Mapped version of from_face_h
Definition at line 301 of file lattice_field.h.
Referenced by createComms(), and LatticeField().
|
mutableprotected |
Size in bytes of this ghost field
Definition at line 247 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaGaugeField::allocateGhostBuffer(), quda::cudaColorSpinorField::allocateGhostBuffer(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), quda::cudaColorSpinorField::create(), quda::cudaGaugeField::createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), and quda::cudaGaugeField::saveCPUField().
|
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().
|
mutableprotected |
Size in bytes of the ghost in each dimension
Definition at line 257 of file lattice_field.h.
Referenced by createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), and quda::cudaColorSpinorField::unpackGhost().
|
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().
|
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().
|
staticprotected |
Mapped version of pinned recv buffers
Definition at line 227 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaColorSpinorField::allocateGhostBuffer(), quda::cudaColorSpinorField::create(), createComms(), and freeGhostBuffer().
|
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().
|
staticprotected |
Mapped version of pinned send buffers
Definition at line 222 of file lattice_field.h.
Referenced by allocateGhostBuffer(), createComms(), and freeGhostBuffer().
|
mutableprotected |
Precision of the ghost
Definition at line 174 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::create(), createComms(), quda::cudaColorSpinorField::createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), quda::ColorSpinorField::exchange(), quda::cudaColorSpinorField::exchangeGhost(), quda::ColorSpinorField::fill(), quda::GaugeField::GaugeField(), quda::operator<<(), quda::ColorSpinorField::reset(), quda::cudaColorSpinorField::sendGhost(), quda::cudaColorSpinorField::sendStart(), and quda::cudaColorSpinorField::unpackGhost().
|
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().
|
staticprotected |
Double buffered static GPU halo receive buffer
Definition at line 207 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaColorSpinorField::allocateGhostBuffer(), quda::cudaColorSpinorField::create(), createComms(), quda::cudaColorSpinorField::createComms(), createIPCComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), freeGhostBuffer(), quda::cudaGaugeField::injectGhost(), and quda::cudaColorSpinorField::unpackGhost().
|
staticprotected |
Remove ghost pointer for sending to
Definition at line 232 of file lattice_field.h.
Referenced by createIPCComms(), destroyIPCComms(), quda::cudaColorSpinorField::packGhost(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
staticprotected |
Double buffered static GPU halo send buffer
Definition at line 202 of file lattice_field.h.
Referenced by allocateGhostBuffer(), createComms(), quda::cudaColorSpinorField::createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), freeGhostBuffer(), and quda::cudaGaugeField::injectGhost().
|
protected |
Type of ghost exchange to perform
Definition at line 186 of file lattice_field.h.
Referenced by quda::GaugeField::applyStaggeredPhase(), checkField(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), quda::cpuGaugeField::cpuGaugeField(), quda::cudaGaugeField::cudaGaugeField(), quda::cudaGaugeField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), LatticeField(), and quda::GaugeField::removeStaggeredPhase().
|
staticprotected |
The current size of the static ghost allocation
Definition at line 237 of file lattice_field.h.
Referenced by allocateGhostBuffer().
|
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().
|
mutableprotected |
Real-number offsets to each ghost zone
Definition at line 262 of file lattice_field.h.
Referenced by createComms(), quda::cudaColorSpinorField::createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), LatticeField(), quda::cudaColorSpinorField::packGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), and quda::cudaColorSpinorField::unpackGhost().
|
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().
|
staticprotected |
Whether the ghost buffers have been initialized
Definition at line 242 of file lattice_field.h.
Referenced by allocateGhostBuffer(), and freeGhostBuffer().
|
staticprotected |
Whether we have initialized peer-to-peer communication
Definition at line 375 of file lattice_field.h.
Referenced by createIPCComms(), and destroyIPCComms().
|
staticprotected |
Local copy of event used for peer-to-peer synchronization
Definition at line 366 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), destroyIPCComms(), getIPCCopyEvent(), ipcCopyComplete(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
staticprotected |
Remote copy of event used for peer-to-peer synchronization
Definition at line 369 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), quda::cudaColorSpinorField::exchangeGhost(), getIPCRemoteCopyEvent(), and ipcRemoteCopyComplete().
|
protected |
The type of allocation we are going to do for this field
Definition at line 387 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::create(), quda::cudaGaugeField::cudaGaugeField(), quda::cudaColorSpinorField::destroy(), LatticeField(), and quda::cudaGaugeField::~cudaGaugeField().
|
protected |
Message handles for receiving from backwards
Definition at line 321 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cpuGaugeField::exchangeExtendedGhost(), LatticeField(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for receiving from forwards
Definition at line 318 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cpuGaugeField::exchangeExtendedGhost(), LatticeField(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 351 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), destroyIPCComms(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 348 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), destroyIPCComms(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for rdma receiving from backwards
Definition at line 333 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), LatticeField(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for rdma receiving from forwards
Definition at line 330 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), LatticeField(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for sending backwards
Definition at line 327 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), LatticeField(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Message handles for sending forwards
Definition at line 324 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), LatticeField(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 345 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), destroyIPCComms(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 342 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createIPCComms(), destroyIPCComms(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Message handles for rdma sending to backwards
Definition at line 339 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), LatticeField(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Message handles for rdma sending to forwards
Definition at line 336 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), LatticeField(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Device memory buffer for sending messages
Definition at line 282 of file lattice_field.h.
Referenced by createComms(), quda::cudaColorSpinorField::createComms(), and LatticeField().
|
protected |
Local pointers to the device ghost_send buffer
Definition at line 291 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), LatticeField(), quda::cudaColorSpinorField::packGhost(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Local pointers to the pinned my_face buffer
Definition at line 285 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaColorSpinorField::gather(), quda::cudaGaugeField::injectGhost(), and LatticeField().
|
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().
|
protected |
Pinned memory buffer used for sending messages
Definition at line 272 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), quda::cudaColorSpinorField::exchangeGhost(), and LatticeField().
|
protected |
Mapped version of my_face_h
Definition at line 277 of file lattice_field.h.
Referenced by createComms(), and LatticeField().
|
protected |
Number of field dimensions
Definition at line 159 of file lattice_field.h.
Referenced by checkField(), quda::CloverField::CloverField(), quda::cpuGaugeField::cpuGaugeField(), quda::GaugeField::createGhostZone(), quda::cudaGaugeField::cudaGaugeField(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cpuGaugeField::exchangeGhost(), quda::GaugeField::GaugeField(), quda::cudaGaugeField::injectGhost(), quda::cpuGaugeField::injectGhost(), LatticeField(), setTuningString(), quda::cpuGaugeField::~cpuGaugeField(), and quda::cudaGaugeField::~cudaGaugeField().
|
protected |
The number of dimensions we partition for communication
Definition at line 191 of file lattice_field.h.
Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), createComms(), quda::cudaColorSpinorField::createComms(), destroyComms(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::cudaColorSpinorField::exchangeGhost(), quda::cpuColorSpinorField::exchangeGhost(), and LatticeField().
|
protected |
Definition at line 154 of file lattice_field.h.
Referenced by quda::cpuGaugeField::cpuGaugeField(), quda::cudaGaugeField::cudaGaugeField(), and LatticeField().
|
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().
|
protected |
The extended lattice radius (if applicable)
Definition at line 168 of file lattice_field.h.
Referenced by checkField(), and LatticeField().
|
protected |
For fixed-point fields that need a global scaling factor
Definition at line 180 of file lattice_field.h.
|
protected |
Whether the field is full or single parity
Definition at line 183 of file lattice_field.h.
Referenced by LatticeField().
|
protected |
Definition at line 153 of file lattice_field.h.
Referenced by quda::CloverField::CloverField(), quda::GaugeField::GaugeField(), LatticeField(), quda::GaugeField::setTuningString(), and quda::cudaGaugeField::zeroPad().
|
protected |
Definition at line 164 of file lattice_field.h.
Referenced by checkField(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), quda::cpuGaugeField::cpuGaugeField(), quda::GaugeField::createGhostZone(), quda::cudaGaugeField::cudaGaugeField(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeGhost(), quda::cpuGaugeField::injectGhost(), LatticeField(), and quda::cudaGaugeField::saveCPUField().
|
protected |
Definition at line 165 of file lattice_field.h.
Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), checkField(), quda::cudaGaugeField::cudaGaugeField(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), and LatticeField().
|
protected |
Definition at line 156 of file lattice_field.h.
Referenced by quda::cudaCloverField::cudaCloverField(), quda::ColorSpinorField::exchange(), quda::cudaColorSpinorField::exchangeGhost(), and quda::GaugeField::GaugeField().
|
protected |
Used as a label in the autotuner
Definition at line 378 of file lattice_field.h.
Referenced by setTuningString(), and quda::ColorSpinorField::setTuningString().
|
protected |
Lattice volume
Definition at line 148 of file lattice_field.h.
Referenced by checkField(), quda::cpuGaugeField::cpuGaugeField(), quda::GaugeField::GaugeField(), LatticeField(), and quda::GaugeField::setTuningString().
|
protected |
Checkerboarded volume
Definition at line 151 of file lattice_field.h.
Referenced by checkField(), quda::CloverField::CloverField(), LatticeField(), and quda::cudaGaugeField::zeroPad().
|
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().