|
QUDA
0.9.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) |
| 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 |
| 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 |
| virtual void | backup () const |
| Backs up the LatticeField. More... | |
| virtual void | restore () |
| Restores the cpuGaugeField. 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 () |
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_buffer_h [2] = {nullptr, nullptr} |
| static void * | ghost_pinned_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 122 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 53 of file lattice_field.cpp.
| 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 94 of file lattice_field.cpp.
|
virtual |
Destructor for LatticeField
Definition at line 126 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 128 of file lattice_field.cpp.
References b, device_pinned_free, device_pinned_malloc, ghost_bytes, ghost_field_reset, ghost_pinned_buffer_h, ghost_pinned_buffer_hd, ghost_recv_buffer_d, ghost_send_buffer_d, ghostFaceBytes, host_free, initGhostFaceBuffer, and mapped_malloc.
Referenced by quda::cudaGaugeField::allocateGhostBuffer(), and quda::cudaColorSpinorField::allocateGhostBuffer().

|
inlinevirtual |
Backs up the LatticeField.
Reimplemented in quda::cpuColorSpinorField, quda::cudaColorSpinorField, quda::cpuGaugeField, and quda::cudaGaugeField.
Definition at line 527 of file lattice_field.h.
References errorQuda.
Referenced by 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 493 of file lattice_field.cpp.
References a, errorQuda, ghostExchange, fused_exterior_ndeg_tm_dslash_cuda_gen::i, 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 514 of file lattice_field.h.
References errorQuda.
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 511 of file lattice_field.h.
References errorQuda.
|
inlinevirtual |
Reimplemented in quda::cudaColorSpinorField.
Definition at line 517 of file lattice_field.h.
References errorQuda.
| void quda::LatticeField::createComms | ( | bool | no_comms_fill = false | ) |
Create the communication handlers (both host and device)
| [in] | no_comms_fill | Whether to allocate halo buffers for dimensions that are not partitioned |
Definition at line 190 of file lattice_field.cpp.
References b, checkCudaError, comm_declare_receive_relative, comm_declare_send_relative, comm_gdr_enabled(), commDimPartitioned(), destroyComms(), from_face_dim_dir_d, from_face_dim_dir_h, from_face_dim_dir_hd, from_face_h, from_face_hd, ghost_bytes, ghost_face_bytes, ghost_pinned_buffer_h, ghost_pinned_buffer_hd, ghost_recv_buffer_d, ghost_send_buffer_d, ghostOffset, fused_exterior_ndeg_tm_dslash_cuda_gen::i, 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_dim_dir_d, my_face_dim_dir_h, my_face_dim_dir_hd, my_face_h, my_face_hd, nDimComms, offset, and precision.
Referenced by quda::cudaGaugeField::createComms(), and quda::cudaColorSpinorField::createComms().


| void quda::LatticeField::createIPCComms | ( | ) |
Create the inter-process communication handlers
Definition at line 286 of file lattice_field.cpp.
References b, 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(), cudaIpcEventHandle_t, cudaIpcMemHandle_t, dim, 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 260 of file lattice_field.cpp.
References b, checkCudaError, comm_free(), commDimPartitioned(), fused_exterior_ndeg_tm_dslash_cuda_gen::i, 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, and nDimComms.
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 429 of file lattice_field.cpp.
References b, checkCudaError, comm_dim(), comm_free(), comm_peer2peer_enabled(), dim, ghost_remote_send_buffer_d, initIPCComms, ipcCopyEvent, mh_recv_p2p_back, mh_recv_p2p_fwd, mh_send_p2p_back, and mh_send_p2p_fwd.
Referenced by quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and freeGhostBuffer().


|
static |
Free statically allocated ghost buffers.
Definition at line 167 of file lattice_field.cpp.
References b, destroyIPCComms(), device_pinned_free, ghost_pinned_buffer_h, ghost_pinned_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 508 of file lattice_field.h.
References errorQuda.
|
inline |
Definition at line 488 of file lattice_field.h.
References total_bytes.
Referenced by loadCloverQuda(), and loadGaugeQuda().

Handle to local copy event used for peer-to-peer synchronization
Definition at line 473 of file lattice_field.cpp.
References bufferIndex, dim, and ipcCopyEvent.
Handle to remote copy event used for peer-to-peer synchronization
Definition at line 477 of file lattice_field.cpp.
References bufferIndex, dim, and ipcRemoteCopyEvent.
|
inline |
Definition at line 457 of file lattice_field.h.
References ghostExchange.
Referenced by quda::cudaGaugeField::copy(), quda::copyGenericGauge(), and quda::cudaGaugeField::saveCPUField().

Helper function to determine if local-to-remote (send) peer-to-peer copy is complete
Definition at line 463 of file lattice_field.cpp.
References bufferIndex, dim, and ipcCopyEvent.
Helper function to determine if local-to-remote (receive) peer-to-peer copy is complete
Definition at line 468 of file lattice_field.cpp.
References bufferIndex, dim, and ipcRemoteCopyEvent.
| QudaFieldLocation quda::LatticeField::Location | ( | ) | const |
Definition at line 522 of file lattice_field.cpp.
References errorQuda, QUDA_CPU_FIELD_LOCATION, QUDA_CUDA_FIELD_LOCATION, and QUDA_INVALID_FIELD_LOCATION.
Referenced by quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::advanceTuneParam(), quda::CalculateYhat< Float, n, Arg >::advanceTuneParam(), quda::GaussSpinor< FloatIn, Ns, Nc, InOrder >::apply(), quda::GenericPackGhostLauncher< Float, Ns, Ms, Nc, Mc, Arg >::apply(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::apply(), quda::Laplace< Float, nDim, nColor, 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::GaugeOvrImpSTOUT< Float, GaugeOr, GaugeDs >::apply(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::apply(), quda::CalculateYhat< Float, n, Arg >::apply(), quda::calculateY(), quda::blas::copy(), quda::ColorSpinorField::CreateCoarse(), quda::ColorSpinorField::CreateFine(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::ColorSpinorField::fill(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder(), quda::gaugeForce(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::tuneKey(), quda::CalculateYhat< Float, n, Arg >::tuneKey(), and quda::updateGaugeField().

|
inlinevirtual |
|
inline |
Definition at line 410 of file lattice_field.h.
References nDim.
Referenced by quda::copyGaugeEx().

| int quda::LatticeField::Nvec | ( | ) | const |
Definition at line 546 of file lattice_field.cpp.
References errorQuda, quda::ColorSpinorField::FieldOrder(), quda::CloverField::Order(), and quda::GaugeField::Order().
Referenced by quda::ColorSpinorField::CreateCoarse(), quda::ColorSpinorField::CreateFine(), quda::cudaColorSpinorField::sendGhost(), and quda::cudaColorSpinorField::sendStart().


|
inline |
|
inline |
Definition at line 462 of file lattice_field.h.
References precision.
Referenced by quda::APEStep(), quda::ApplyCovDev(), quda::applyGaugePhase(), quda::applyU(), quda::GenericPackGhostLauncher< Float, Ns, Ms, Nc, Mc, Arg >::bytes(), quda::calculateY(), quda::canReuseResidentGauge(), checkClover(), checkGauge(), quda::cloverDerivative(), quda::CoarseCoarseOp(), quda::CoarseOp(), quda::cudaCloverField::compute(), quda::computeCloverForce(), computeCloverForceQuda(), quda::computeCloverSigmaOprod(), quda::computeFmunu(), quda::computeMomAction(), quda::computeQCharge(), quda::computeStaggeredOprod(), quda::blas::copy_ns::copy(), quda::copyExtendedColorSpinor(), quda::copyGenericColorSpinor(), quda::copyGenericGauge(), quda::copyGenericGaugeDoubleOut(), quda::copyGenericGaugeHalfOut(), quda::copyGenericGaugeMG(), quda::copyGenericGaugeSingleOut(), createCloverQuda(), createExtendedGauge(), quda::extractExtendedGaugeGhost(), quda::extractGaugeGhost(), quda::extractGaugeGhostMG(), quda::gaugefixingFFT(), quda::gaugefixingOVR(), quda::gaugeForce(), quda::gaugeGauss(), quda::getLinkDeterminant(), quda::getLinkTrace(), quda::InitGaugeField(), quda::DiracCoarse::initializeCoarse(), loadSloppyCloverQuda(), loadSloppyGaugeQuda(), quda::Monte(), quda::Deflation::operator()(), quda::BiCGstab::operator()(), quda::BiCGstabL::operator()(), quda::MultiShiftCG::operator()(), quda::DslashCoarseLaunch::operator()(), quda::OvrImpSTOUTStep(), quda::PGaugeExchange(), qChargeCuda(), quda::IncEigCG::RestartVT(), quda::cudaGaugeField::saveCPUField(), quda::shiftColorSpinorField(), quda::CG::solve(), quda::STOUTStep(), quda::unitarizeLinks(), quda::updateGaugeField(), and quda::updateMomentum().
|
inline |
Definition at line 452 of file lattice_field.h.
References r.
Referenced by quda::cudaGaugeField::allocateGhostBuffer(), quda::cudaGaugeField::createComms(), quda::GaugeField::createGhostZone(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder(), quda::GaugeOvrImpSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeOvrImpSTOUTArg(), hisq_force_test(), quda::cudaGaugeField::injectGhost(), quda::LatticeFieldParam::LatticeFieldParam(), loadGaugeQuda(), quda::cudaColorSpinorField::packExtended(), quda::cudaColorSpinorField::packGhostExtended(), and quda::cudaColorSpinorField::unpackGhostExtended().

|
virtual |
Read in the field specified by filenemae
| filename | The name of the file to read |
Definition at line 538 of file lattice_field.cpp.
References errorQuda.
|
inlinevirtual |
Restores the cpuGaugeField.
Reimplemented in quda::cpuColorSpinorField, quda::cudaColorSpinorField, quda::cpuGaugeField, and quda::cudaGaugeField.
Definition at line 530 of file lattice_field.h.
References errorQuda.
Referenced by quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::postTune().

Reimplemented in quda::cudaColorSpinorField.
Definition at line 520 of file lattice_field.h.
References errorQuda.
|
protectedvirtual |
Sets the vol_string for use in tuning
Reimplemented in quda::ColorSpinorField.
Definition at line 481 of file lattice_field.cpp.
References d, errorQuda, nDim, snprintf(), strcpy(), vol_string, quda::TuneKey::volume_n, and x.

|
inlinevirtual |
Reimplemented in quda::ColorSpinorField.
Definition at line 467 of file lattice_field.h.
References siteSubset.
|
inline |
Definition at line 442 of file lattice_field.h.
References stride.
|
inline |
| i | The dimension of the requested surface |
Definition at line 431 of file lattice_field.h.
References surfaceCB.
Referenced by quda::GenericPackGhostLauncher< Float, Ns, Ms, Nc, Mc, Arg >::bytes(), quda::copyGauge(), quda::copyGaugeMG(), quda::ExtractGhostArg< Order, nDim >::ExtractGhostArg(), quda::extractGhostEx(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder(), quda::gauge::GhostAccessor< Float, nColor, QUDA_QDP_GAUGE_ORDER, native_ghost >::GhostAccessor(), quda::gauge::GhostAccessor< Float, nColor, QUDA_MILC_GAUGE_ORDER, native_ghost >::GhostAccessor(), quda::gauge::GhostAccessor< Float, nColor, QUDA_FLOAT2_GAUGE_ORDER, native_ghost >::GhostAccessor(), and quda::gauge::LegacyOrder< Float, length >::LegacyOrder().

| i | The dimension of the requested surface |
Definition at line 437 of file lattice_field.h.
References fused_exterior_ndeg_tm_dslash_cuda_gen::i, and surfaceCB.
|
inline |
Return the volume string used by the autotuner
Definition at line 524 of file lattice_field.h.
References vol_string.
Referenced by quda::CopySpinor< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder >::tuneKey(), quda::GaussSpinor< FloatIn, Ns, Nc, InOrder >::tuneKey(), quda::CopyGaugeEx< FloatOut, FloatIn, length, OutOrder, InOrder >::tuneKey(), quda::GenericPackGhostLauncher< Float, Ns, Ms, Nc, Mc, Arg >::tuneKey(), quda::KSForceComplete< Float, Oprod, Gauge, Mom >::tuneKey(), quda::WuppertalSmearing< Float, Ns, Nc, Arg >::tuneKey(), quda::CopyColorSpinor< FloatOut, FloatIn, Ns, Nc, Arg >::tuneKey(), quda::Laplace< Float, nDim, nColor, Arg >::tuneKey(), quda::ExtractGhost< Float, length, nDim, Order >::tuneKey(), quda::CopyGauge< FloatOut, FloatIn, length, OutOrder, InOrder, isGhost >::tuneKey(), quda::ExtractGhostEx< Float, length, nDim, dim, Order >::tuneKey(), quda::Gamma< ValueType, basis, dir >::tuneKey(), quda::CopySpinorEx< FloatOut, FloatIn, Ns, Nc, OutOrder, InOrder, Basis, extend >::tuneKey(), quda::KSLongLinkForce< Float, Result, Oprod, Gauge >::tuneKey(), quda::TwistGamma< Float, nColor, Arg >::tuneKey(), quda::Clover< Float, nSpin, nColor, Arg >::tuneKey(), quda::TwistClover< Float, nSpin, nColor, Arg >::tuneKey(), quda::GaugeOvrImpSTOUT< Float, GaugeOr, GaugeDs >::tuneKey(), quda::CalculateY< from_coarse, Float, fineSpin, fineColor, coarseSpin, coarseColor, Arg >::tuneKey(), and quda::CalculateYhat< Float, n, Arg >::tuneKey().

|
inline |
Definition at line 420 of file lattice_field.h.
References volume.
Referenced by quda::calculateY(), quda::Dirac::checkParitySpinor(), gaussGaugeQuda(), hisq_force_init(), hisq_force_test(), and TEST().

|
inline |
Definition at line 425 of file lattice_field.h.
References volumeCB.
Referenced by quda::Dirac::checkParitySpinor(), quda::DiracClover::checkParitySpinor(), quda::DiracTwistedClover::checkParitySpinor(), quda::DiracStaggered::checkParitySpinor(), quda::DiracImprovedStaggered::checkParitySpinor(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), and quda::ProjectSU3Arg< Float, G >::ProjectSU3Arg().

|
virtual |
Write the field in the file specified by filename
| filename | The name of the file to write |
Definition at line 542 of file lattice_field.cpp.
References errorQuda.
|
inline |
Definition at line 415 of file lattice_field.h.
References x.
Referenced by quda::gauge::BQCDOrder< Float, length >::BQCDOrder(), quda::calculateY(), quda::cloverDerivative(), cloverQuda(), quda::CoarseOp(), quda::completeKSForce(), quda::computeKSLongLinkForce(), createCloverQuda(), quda::deflated_solver::deflated_solver(), dslashQuda(), dslashQuda_4dpc(), dslashQuda_mdwf(), quda::extractGhost(), quda::ExtractGhostArg< Order, nDim >::ExtractGhostArg(), quda::extractGhostEx(), quda::fatLongKSLink(), quda::gauge::FloatNOrder< Float, length, N, reconLenParam, stag_phase, huge_alloc >::FloatNOrder(), quda::GaugeOvrImpSTOUTArg< Float, GaugeOr, GaugeDs >::GaugeOvrImpSTOUTArg(), gaussGaugeQuda(), invert_multishift_quda_(), invertMultiShiftQuda(), invertMultiSrcQuda(), invertQuda(), lanczosQuda(), quda::LatticeFieldParam::LatticeFieldParam(), loadCloverQuda(), MatDagMatQuda(), MatQuda(), quda::multigrid_solver::multigrid_solver(), performWuppertalnStep(), quda::ProjectSU3Arg< Float, G >::ProjectSU3Arg(), qChargeCuda(), and quda::gauge::TIFRPaddedOrder< Float, length >::TIFRPaddedOrder().

|
mutableprotected |
Definition at line 322 of file lattice_field.h.
Referenced by quda::cudaGaugeField::backup(), quda::cpuGaugeField::backup(), quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), quda::cudaGaugeField::restore(), quda::cpuGaugeField::restore(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
mutableprotected |
Definition at line 320 of file lattice_field.h.
Referenced by quda::cudaGaugeField::backup(), quda::cpuGaugeField::backup(), quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), quda::cudaGaugeField::restore(), quda::cpuGaugeField::restore(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
mutableprotected |
Definition at line 321 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::backup(), quda::cpuColorSpinorField::backup(), quda::cudaColorSpinorField::restore(), and quda::cpuColorSpinorField::restore().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 297 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 291 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 294 of file lattice_field.h.
Referenced by createIPCComms().
|
staticprotected |
Buffer used by peer-to-peer message handler
Definition at line 288 of file lattice_field.h.
Referenced by createIPCComms().
|
static |
Static variable that is determined which ghost buffer we are using
Definition at line 400 of file lattice_field.h.
Referenced by quda::ApplyCovDev(), 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::cudaColorSpinorField::Ghost2(), quda::cudaGaugeField::injectGhost(), ipcCopyComplete(), ipcRemoteCopyComplete(), quda::DslashCoarseLaunch::operator()(), quda::cudaColorSpinorField::packGhost(), quda::cudaColorSpinorField::packGhostExtended(), quda::cudaGaugeField::recvStart(), quda::cudaColorSpinorField::recvStart(), quda::cudaColorSpinorField::scatter(), quda::cudaColorSpinorField::scatterExtended(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), quda::cudaColorSpinorField::unpackGhost(), and quda::cudaColorSpinorField::unpackGhostExtended().
|
protected |
Local pointers to the device ghost_recv buffer
Definition at line 249 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), and quda::cudaGaugeField::injectGhost().
|
protected |
Local pointers to the pinned from_face buffer
Definition at line 243 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), quda::cudaColorSpinorField::scatter(), and quda::cudaColorSpinorField::scatterExtended().
|
protected |
Local pointers to the mapped from_face buffer
Definition at line 246 of file lattice_field.h.
Referenced by createComms(), and quda::cudaColorSpinorField::exchangeGhost().
|
protected |
Memory buffer used for receiving all messages
Definition at line 238 of file lattice_field.h.
Referenced by createComms(), and quda::cudaColorSpinorField::exchangeGhost().
|
protected |
Mapped version of from_face_h
Definition at line 240 of file lattice_field.h.
Referenced by createComms().
|
mutableprotected |
Size in bytes of this ghost field
Definition at line 206 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaGaugeField::allocateGhostBuffer(), quda::cudaColorSpinorField::allocateGhostBuffer(), quda::cudaGaugeField::copy(), quda::cpuGaugeField::copy(), createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), quda::cudaColorSpinorField::Ghost2(), quda::ColorSpinorField::GhostBytes(), quda::ColorSpinorField::GhostNormBytes(), and quda::cudaGaugeField::saveCPUField().
|
mutableprotected |
Size in bytes of the ghost in each dimension
Definition at line 211 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::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
static |
Bool which is triggered if the ghost field is reset
Definition at line 405 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaGaugeField::createComms(), quda::cudaColorSpinorField::createComms(), and createIPCComms().
|
staticprotected |
Double buffered static pinned send/recv buffers
Definition at line 181 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaGaugeField::createComms(), createComms(), quda::cudaColorSpinorField::createComms(), and freeGhostBuffer().
|
staticprotected |
Mapped version of ghost_pinned
Definition at line 186 of file lattice_field.h.
Referenced by allocateGhostBuffer(), createComms(), freeGhostBuffer(), and quda::cudaColorSpinorField::Ghost2().
|
staticprotected |
Double buffered static GPU halo receive buffer
Definition at line 176 of file lattice_field.h.
Referenced by allocateGhostBuffer(), quda::cudaColorSpinorField::allocateGhostBuffer(), createComms(), quda::cudaColorSpinorField::createComms(), createIPCComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), freeGhostBuffer(), quda::cudaColorSpinorField::Ghost2(), quda::cudaGaugeField::injectGhost(), and quda::cudaColorSpinorField::unpackGhost().
|
staticprotected |
Remove ghost pointer for sending to
Definition at line 191 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 171 of file lattice_field.h.
Referenced by allocateGhostBuffer(), 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 155 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(), GhostExchange(), quda::cudaGaugeField::injectGhost(), and quda::GaugeField::removeStaggeredPhase().
|
staticprotected |
The current size of the static ghost allocation
Definition at line 196 of file lattice_field.h.
Referenced by allocateGhostBuffer().
|
mutableprotected |
Real-number (in floats) offsets to each ghost zone for norm field
Definition at line 221 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::createComms(), quda::ColorSpinorField::createGhostZone(), quda::ColorSpinorField::GhostNormOffset(), and quda::cudaColorSpinorField::sendStart().
|
mutableprotected |
Real-number offsets to each ghost zone
Definition at line 216 of file lattice_field.h.
Referenced by createComms(), quda::cudaColorSpinorField::createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), quda::ColorSpinorField::GhostOffset(), quda::cudaColorSpinorField::packGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), quda::cudaColorSpinorField::unpackGhost(), and quda::cudaColorSpinorField::unpackGhostExtended().
|
protected |
Whether we have initialized communication for this field
Definition at line 306 of file lattice_field.h.
Referenced by quda::cudaGaugeField::createComms(), createComms(), quda::cudaColorSpinorField::createComms(), createIPCComms(), and destroyComms().
|
staticprotected |
Whether the ghost buffers have been initialized
Definition at line 201 of file lattice_field.h.
Referenced by allocateGhostBuffer(), and freeGhostBuffer().
|
staticprotected |
Whether we have initialized peer-to-peer communication
Definition at line 309 of file lattice_field.h.
Referenced by createIPCComms(), and destroyIPCComms().
|
staticprotected |
Local copy of event used for peer-to-peer synchronization
Definition at line 300 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 303 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 318 of file lattice_field.h.
Referenced by quda::cudaColorSpinorField::create(), quda::cudaColorSpinorField::destroy(), and MemType().
|
protected |
Message handles for receiving from backwards
Definition at line 255 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for receiving from forwards
Definition at line 252 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 285 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 282 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 267 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for rdma receiving from forwards
Definition at line 264 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cudaGaugeField::recvStart(), and quda::cudaColorSpinorField::recvStart().
|
protected |
Message handles for sending backwards
Definition at line 261 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Message handles for sending forwards
Definition at line 258 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
staticprotected |
Peer-to-peer message handler for signaling event posting
Definition at line 279 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 276 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 273 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Message handles for rdma sending to forwards
Definition at line 270 of file lattice_field.h.
Referenced by quda::cudaGaugeField::commsComplete(), quda::cudaColorSpinorField::commsQuery(), quda::cudaColorSpinorField::commsWait(), createComms(), destroyComms(), quda::cudaGaugeField::sendStart(), and quda::cudaColorSpinorField::sendStart().
|
protected |
Local pointers to the device ghost_send buffer
Definition at line 235 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaGaugeField::injectGhost(), quda::cudaColorSpinorField::packGhost(), quda::cudaColorSpinorField::packGhostExtended(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), and quda::cudaColorSpinorField::unpackGhostExtended().
|
protected |
Local pointers to the pinned my_face buffer
Definition at line 229 of file lattice_field.h.
Referenced by createComms(), quda::cudaGaugeField::exchangeExtendedGhost(), quda::cudaGaugeField::exchangeGhost(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaColorSpinorField::gather(), and quda::cudaGaugeField::injectGhost().
|
protected |
Local pointers to the mapped my_face buffer
Definition at line 232 of file lattice_field.h.
Referenced by createComms(), quda::cudaColorSpinorField::exchangeGhost(), quda::cudaColorSpinorField::packGhost(), quda::cudaColorSpinorField::packGhostExtended(), and quda::cudaColorSpinorField::unpackGhostExtended().
|
protected |
Pinned memory buffer used for sending all messages
Definition at line 224 of file lattice_field.h.
Referenced by quda::cudaGaugeField::createComms(), createComms(), quda::cudaColorSpinorField::createComms(), and quda::cudaColorSpinorField::exchangeGhost().
|
protected |
Mapped version of my_face_h
Definition at line 226 of file lattice_field.h.
Referenced by createComms().
|
protected |
Number of field dimensions
Definition at line 137 of file lattice_field.h.
Referenced by checkField(), 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(), Ndim(), setTuningString(), quda::cpuGaugeField::~cpuGaugeField(), and quda::cudaGaugeField::~cudaGaugeField().
|
protected |
The number of dimensions we partition for communication
Definition at line 160 of file lattice_field.h.
Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), createComms(), quda::cudaColorSpinorField::createComms(), destroyComms(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::cudaColorSpinorField::exchangeGhost(), and quda::cpuColorSpinorField::exchangeGhost().
|
protected |
Definition at line 132 of file lattice_field.h.
Referenced by quda::cpuGaugeField::cpuGaugeField(), quda::cudaGaugeField::cudaGaugeField(), and Pad().
|
protected |
Precision of the field
Definition at line 149 of file lattice_field.h.
Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), quda::ColorSpinorField::ColorSpinorField(), 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(), createComms(), quda::cudaColorSpinorField::createComms(), quda::GaugeField::createGhostZone(), quda::ColorSpinorField::createGhostZone(), quda::cudaCloverField::cudaCloverField(), quda::cudaGaugeField::cudaGaugeField(), quda::cudaColorSpinorField::destroy(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), quda::cpuGaugeField::exchangeExtendedGhost(), quda::cpuGaugeField::exchangeGhost(), quda::ColorSpinorField::fill(), quda::GaugeField::GaugeField(), quda::cpuGaugeField::injectGhost(), quda::CloverField::isNative(), quda::GaugeField::isNative(), quda::ColorSpinorField::isNative(), quda::cudaColorSpinorField::packGhost(), Precision(), quda::ColorSpinorField::reset(), quda::cudaCloverField::saveCPUField(), quda::cudaColorSpinorField::sendGhost(), quda::cudaGaugeField::sendStart(), quda::cudaColorSpinorField::sendStart(), quda::ColorSpinorField::setTuningString(), quda::cudaColorSpinorField::unpackGhost(), quda::cudaColorSpinorField::zero(), and quda::cudaColorSpinorField::zeroPad().
|
protected |
The extended lattice radius (if applicable)
Definition at line 146 of file lattice_field.h.
Referenced by checkField(), createExtendedGauge(), and R().
|
protected |
Whether the field is full or single parity
Definition at line 152 of file lattice_field.h.
Referenced by SiteSubset().
|
protected |
Definition at line 131 of file lattice_field.h.
Referenced by quda::GaugeField::GaugeField(), and Stride().
|
protected |
Definition at line 142 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(), and quda::cudaGaugeField::saveCPUField().
|
protected |
Definition at line 143 of file lattice_field.h.
Referenced by quda::cpuColorSpinorField::allocateGhostBuffer(), checkField(), quda::cudaGaugeField::cudaGaugeField(), quda::GaugeField::exchange(), quda::ColorSpinorField::exchange(), and SurfaceCB().
|
protected |
Definition at line 134 of file lattice_field.h.
Referenced by quda::cudaCloverField::cudaCloverField(), quda::ColorSpinorField::exchange(), quda::cudaColorSpinorField::exchangeGhost(), quda::GaugeField::GaugeField(), and GBytes().
|
protected |
Used as a label in the autotuner
Definition at line 312 of file lattice_field.h.
Referenced by setTuningString(), quda::ColorSpinorField::setTuningString(), and VolString().
|
protected |
Lattice volume
Definition at line 126 of file lattice_field.h.
Referenced by checkField(), quda::cpuGaugeField::cpuGaugeField(), quda::GaugeField::GaugeField(), and Volume().
|
protected |
Checkerboarded volume
Definition at line 129 of file lattice_field.h.
Referenced by checkField(), and VolumeCB().
|
protected |
Array storing the length of dimension
Definition at line 140 of file lattice_field.h.
Referenced by checkField(), quda::cpuGaugeField::cpuGaugeField(), setTuningString(), and X().
1.8.14