Grid 0.7.0
Lattice< vobj > Class Template Reference

#include <Lattice_base.h>

Inheritance diagram for Lattice< vobj >:
LatticeAccelerator< vobj > LatticeBase

Public Types

typedef vobj::scalar_type scalar_type
typedef vobj::vector_type vector_type
typedef vobj::scalar_object scalar_object
typedef vobj vector_object

Public Member Functions

GridBaseGrid (void) const
void SetViewMode (ViewMode mode)
void PrintCacheState (void)
LatticeView< vobj > View (ViewMode mode) const
 ~Lattice ()
template<typename Op, typename T1>
Lattice< vobj > & operator= (const LatticeUnaryExpression< Op, T1 > &expr)
template<typename Op, typename T1, typename T2>
Lattice< vobj > & operator= (const LatticeBinaryExpression< Op, T1, T2 > &expr)
template<typename Op, typename T1, typename T2, typename T3>
Lattice< vobj > & operator= (const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
template<class Op, class T1>
 Lattice (const LatticeUnaryExpression< Op, T1 > &expr)
template<class Op, class T1, class T2>
 Lattice (const LatticeBinaryExpression< Op, T1, T2 > &expr)
template<class Op, class T1, class T2, class T3>
 Lattice (const LatticeTrinaryExpression< Op, T1, T2, T3 > &expr)
template<class sobj>
Lattice< vobj > & operator= (const sobj &r)
 Lattice (GridBase *grid, ViewMode mode=AcceleratorWriteDiscard)
void reset (GridBase *grid)
 Lattice (const Lattice &r)
 Lattice (Lattice &&r)
template<class robj>
Lattice< vobj > & operator= (const Lattice< robj > &r)
Lattice< vobj > & operator= (const Lattice< vobj > &r)
Lattice< vobj > & operator= (Lattice< vobj > &&r)
template<class T>
Lattice< vobj > & operator*= (const T &r)
template<class T>
Lattice< vobj > & operator-= (const T &r)
template<class T>
Lattice< vobj > & operator+= (const T &r)
accelerator_inline uint64_t oSites (void) const
accelerator_inline int Checkerboard (void) const
accelerator_inline int & Checkerboard (void)
accelerator_inline ViewAdvise Advise (void) const
accelerator_inline ViewAdviseAdvise (void)
accelerator_inline void Conformable (GridBase *&grid) const
GridBasegetGrid (void) const
vobj * getHostPointer (void) const

Protected Attributes

GridBase_grid
int checkerboard
vobj * _odata
uint64_t _odata_size
ViewAdvise advise

Private Member Functions

void dealloc (void)
void resize (uint64_t size)

Friends

void swap (Lattice &l, Lattice &r)

Detailed Description

template<class vobj>
class Lattice< vobj >

Definition at line 46 of file Lattice_base.h.

Member Typedef Documentation

◆ scalar_type

template<class vobj>
typedef vobj::scalar_type Lattice< vobj >::scalar_type

Definition at line 53 of file Lattice_base.h.

◆ vector_type

template<class vobj>
typedef vobj::vector_type Lattice< vobj >::vector_type

Definition at line 54 of file Lattice_base.h.

◆ scalar_object

template<class vobj>
typedef vobj::scalar_object Lattice< vobj >::scalar_object

Definition at line 55 of file Lattice_base.h.

◆ vector_object

template<class vobj>
typedef vobj Lattice< vobj >::vector_object

Definition at line 56 of file Lattice_base.h.

Constructor & Destructor Documentation

◆ ~Lattice()

template<class vobj>
Lattice< vobj >::~Lattice ( )
inline

Definition at line 110 of file Lattice_base.h.

◆ Lattice() [1/6]

template<class vobj>
template<class Op, class T1>
Lattice< vobj >::Lattice ( const LatticeUnaryExpression< Op, T1 > & expr)
inline

Definition at line 191 of file Lattice_base.h.

◆ Lattice() [2/6]

template<class vobj>
template<class Op, class T1, class T2>
Lattice< vobj >::Lattice ( const LatticeBinaryExpression< Op, T1, T2 > & expr)
inline

Definition at line 206 of file Lattice_base.h.

◆ Lattice() [3/6]

template<class vobj>
template<class Op, class T1, class T2, class T3>
Lattice< vobj >::Lattice ( const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr)
inline

Definition at line 221 of file Lattice_base.h.

◆ Lattice() [4/6]

template<class vobj>
Lattice< vobj >::Lattice ( GridBase * grid,
ViewMode mode = AcceleratorWriteDiscard )
inline

Definition at line 264 of file Lattice_base.h.

◆ Lattice() [5/6]

template<class vobj>
Lattice< vobj >::Lattice ( const Lattice< vobj > & r)
inline

Definition at line 284 of file Lattice_base.h.

◆ Lattice() [6/6]

template<class vobj>
Lattice< vobj >::Lattice ( Lattice< vobj > && r)
inline

Definition at line 292 of file Lattice_base.h.

Member Function Documentation

◆ Grid()

template<class vobj>
GridBase * Lattice< vobj >::Grid ( void ) const
inline

Definition at line 49 of file Lattice_base.h.

Referenced by acceleratorPickCheckerboard(), acceleratorSetCheckerboard(), adj(), LatticeAdjMatrix< ncolour >::AdjointLieAlgebraMatrix(), ag5xpbg5y_ssp(), ag5xpby_ssp(), axpbg5y_ssp(), axpby_norm_fast(), axpby_ssp(), axpby_ssp_pminus(), axpby_ssp_pplus(), axpibg5x(), batchBlockPromote(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAStoGrid(), blockInnerProduct(), blockInnerProductD(), blockMaskedInnerProduct(), blockNormalise(), blockOrthonormalize(), blockPick(), blockProject(), blockProjectFast(), blockPromote(), blockSum(), blockZAXPY(), CalculateCshiftVector(), conformable(), conjugate(), Copy_plane(), Copy_plane_permute(), ConjugateBC::CovShiftBackward(), PeriodicBC::CovShiftBackward(), ConjugateBC::CovShiftForward(), ConjugateBC::CovShiftIdentityBackward(), Cshift(), Cshift_comms(), Cshift_comms(), Cshift_comms_simd(), Cshift_comms_simd(), Cshift_local(), Cshift_local(), ConjugateBC::CshiftLink(), CoarsenedMatrix< Fobj, CComplex, nbasis >::Dhop(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopEO(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopInternal(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopOE(), div(), GparityWilsonImpl< vComplex, FundamentalRepresentation, CoeffReal >::DoubleStore(), StaggeredImpl< vComplex, FundamentalRepresentation >::DoubleStore(), WilsonImpl< vComplex, FundamentalRepresentation, CoeffReal >::DoubleStore(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DselfInternal(), DumpSliceNorm(), PaddedCell::Exchange(), PaddedCell::ExchangePeriodic(), PaddedCell::Expand(), PaddedCell::ExpandPeriodic(), expMat(), ExtractSlice(), ExtractSliceFast(), PaddedCell::Face_exchange(), FFT::FFT_dim(), FFT::FFT_dim_mask(), GridParallelRNG::fill(), ScalarImplTypes< vReal >::FreePropagator(), ScalarImplTypes< vReal >::FreePropagator(), LatticeMatrix< ncolour, group_name >::FundamentalLieAlgebraMatrix(), G5C(), G5R5(), CartesianStencil< SiteSpinor, SiteSpinor, ImplParams >::Gather(), FaceGatherSimple::Gather_plane_exchange(), Gather_plane_extract(), Gather_plane_simple(), GatherSlice(), LatticeMatrix< ncolour, group_name >::GaussianFundamentalLieAlgebraMatrix(), GaugeImplTypes< vComplex, Nc >::generate_momenta(), ScalarAdjMatrixImplTypes< vComplex, Nc >::generate_momenta(), Grid_split(), Grid_split(), Grid_unsplit(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GridtoBLAS(), CartesianStencil< SiteSpinor, SiteSpinor, ImplParams >::HaloGather(), WilsonStencil< SiteSpinor, SiteHalfSpinor, ImplParams >::HaloGatherOpt(), imag(), innerProduct(), innerProductNorm(), GparityWilsonImpl< vComplex, FundamentalRepresentation, CoeffReal >::InsertForce5D(), WilsonImpl< vComplex, FundamentalRepresentation, CoeffReal >::InsertForce5D(), InsertSlice(), InsertSliceFast(), InsertSliceLocal(), Lattice< CoarseSiteVector >::Lattice(), LatticeCoordinate(), LatticeMatrix< ncolour, group_name >::LieAlgebraProject(), LLComparison(), localConvert(), localCopyRegion(), LSComparison(), CoarsenedMatrix< Fobj, CComplex, nbasis >::M(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::M(), maxLocalNorm2(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MdagNonHermitian(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MdirCalc(), mod(), ScalarAdjMatrixImplTypes< vComplex, Nc >::MomentaSquare(), ScalarAdjMatrixImplTypes< vComplex, Nc >::MomentumSpacePropagator(), ScalarImplTypes< vReal >::MomentumSpacePropagator(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MooeeInternal(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mult(), Omega(), operator<(), operator<<(), peekSite(), pickCheckerboard(), pokeSite(), pow(), precisionChange(), precisionChange(), precisionChangeFast(), precisionChangeOrig(), PrepareMetaData(), PrepareMetaData< vLorentzColourMatrixD >(), GaugeImplTypes< vComplex, Nc >::projectForce(), rankInnerProduct(), rankSum(), rankSumLarge(), NerscIO::readConfiguration(), BinaryIO::readLatticeObject(), real(), Replicate(), AdjointRep< Nc >::RtoFundamentalProject(), TwoIndexRep< Nc, Symmetric, GroupName::SU >::RtoFundamentalProject(), Scatter_plane_merge(), Scatter_plane_simple(), ScatterSlice(), Smear_Stout< Gimpl >::set_fj(), Smear_Stout< Gimpl >::set_uw(), setCheckerboard(), ConjugateBC::ShiftStaple(), sliceInnerProductMatrix(), sliceInnerProductMatrix(), sliceInnerProductVector(), sliceMaddMatrix(), sliceMaddMatrix(), sliceMaddVector(), sliceMulMatrix(), sliceNorm(), sliceSum(), KappaSimilarityTransform< Matrix, Field >::sscale(), sum(), sum_large(), toComplex(), toReal(), LatticeTwoIndexMatrix< ncolour, S, group_name >::TwoIndexLieAlgebraMatrix(), BinaryIO::Uint32Checksum(), unvectorizeToLexOrdArray(), GaugeImplTypes< vComplex, Nc >::update_field(), AdjointRep< Nc >::update_representation(), TwoIndexRep< Nc, Symmetric, GroupName::SU >::update_representation(), vectorizeFromLexOrdArray(), Grid::whereWolf(), Grid::whereWolf(), NerscIO::writeConfiguration(), and BinaryIO::writeLatticeObject().

◆ dealloc()

template<class vobj>
void Lattice< vobj >::dealloc ( void )
inlineprivate

◆ resize()

◆ SetViewMode()

template<class vobj>
void Lattice< vobj >::SetViewMode ( ViewMode mode)
inline

Definition at line 87 of file Lattice_base.h.

Referenced by Lattice< CoarseSiteVector >::Lattice().

◆ PrintCacheState()

template<class vobj>
void Lattice< vobj >::PrintCacheState ( void )
inline

Definition at line 93 of file Lattice_base.h.

◆ View()

◆ operator=() [1/7]

template<class vobj>
template<typename Op, typename T1>
Lattice< vobj > & Lattice< vobj >::operator= ( const LatticeUnaryExpression< Op, T1 > & expr)
inline

Definition at line 118 of file Lattice_base.h.

◆ operator=() [2/7]

template<class vobj>
template<typename Op, typename T1, typename T2>
Lattice< vobj > & Lattice< vobj >::operator= ( const LatticeBinaryExpression< Op, T1, T2 > & expr)
inline

Definition at line 142 of file Lattice_base.h.

◆ operator=() [3/7]

template<class vobj>
template<typename Op, typename T1, typename T2, typename T3>
Lattice< vobj > & Lattice< vobj >::operator= ( const LatticeTrinaryExpression< Op, T1, T2, T3 > & expr)
inline

Definition at line 166 of file Lattice_base.h.

◆ operator=() [4/7]

template<class vobj>
template<class sobj>
Lattice< vobj > & Lattice< vobj >::operator= ( const sobj & r)
inline

Definition at line 236 of file Lattice_base.h.

◆ reset()

template<class vobj>
void Lattice< vobj >::reset ( GridBase * grid)
inline

Definition at line 274 of file Lattice_base.h.

◆ operator=() [5/7]

template<class vobj>
template<class robj>
Lattice< vobj > & Lattice< vobj >::operator= ( const Lattice< robj > & r)
inline

Definition at line 303 of file Lattice_base.h.

◆ operator=() [6/7]

template<class vobj>
Lattice< vobj > & Lattice< vobj >::operator= ( const Lattice< vobj > & r)
inline

Definition at line 319 of file Lattice_base.h.

◆ operator=() [7/7]

template<class vobj>
Lattice< vobj > & Lattice< vobj >::operator= ( Lattice< vobj > && r)
inline

Definition at line 333 of file Lattice_base.h.

◆ operator*=()

template<class vobj>
template<class T>
Lattice< vobj > & Lattice< vobj >::operator*= ( const T & r)
inline

Definition at line 350 of file Lattice_base.h.

◆ operator-=()

template<class vobj>
template<class T>
Lattice< vobj > & Lattice< vobj >::operator-= ( const T & r)
inline

Definition at line 355 of file Lattice_base.h.

◆ operator+=()

template<class vobj>
template<class T>
Lattice< vobj > & Lattice< vobj >::operator+= ( const T & r)
inline

Definition at line 359 of file Lattice_base.h.

◆ oSites()

template<class vobj>
accelerator_inline uint64_t LatticeAccelerator< vobj >::oSites ( void ) const
inlineinherited

Definition at line 36 of file Lattice_view.h.

References _odata_size, and accelerator_inline.

Referenced by crc().

◆ Checkerboard() [1/2]

template<class vobj>
accelerator_inline int LatticeAccelerator< vobj >::Checkerboard ( void ) const
inlineinherited

Definition at line 37 of file Lattice_view.h.

References accelerator_inline, and checkerboard.

Referenced by acceleratorPickCheckerboard(), acceleratorSetCheckerboard(), add(), add(), add(), adj(), ag5xpbg5y_ssp(), ag5xpby_ssp(), axpbg5y_ssp(), axpby(), axpby_norm_fast(), axpby_ssp(), axpby_ssp_pminus(), axpby_ssp_pplus(), axpibg5x(), axpy(), blockInnerProduct(), blockInnerProductD(), blockMaskedInnerProduct(), blockNormalise(), blockPick(), blockZAXPY(), LocalCoherenceLanczos< Fobj, CComplex, nbasis >::calcFine(), conformable(), conjugate(), Cshift(), Cshift_comms(), Cshift_comms(), Cshift_comms_simd(), Cshift_comms_simd(), Cshift_local(), Cshift_local(), CoarsenedMatrix< Fobj, CComplex, nbasis >::Dhop(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopEO(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopOE(), div(), ExtractSlice(), GridParallelRNG::fill(), G5C(), G5R5(), CartesianStencil< SiteSpinor, SiteSpinor, ImplParams >::Gather(), CartesianStencil< SiteSpinor, SiteSpinor, ImplParams >::GatherSimd(), Grid_split(), Grid_unsplit(), CartesianStencil< SiteSpinor, SiteSpinor, ImplParams >::HaloGatherDir(), imag(), CoarsenedMatrix< Fobj, CComplex, nbasis >::M(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::M(), mac(), mac(), mac(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MdagNonHermitian(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MdirCalc(), CoarsenedMatrix< Fobj, CComplex, nbasis >::Meooe(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MeooeDag(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MooeeInternal(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mult(), mult(), mult(), mult(), ProjectedFunctionHermOp< Fobj, CComplex, nbasis >::operator()(), ProjectedHermOp< Fobj, CComplex, nbasis >::operator()(), Lattice< CoarseSiteVector >::operator=(), Lattice< CoarseSiteVector >::operator=(), PeekIndex(), PeekIndex(), peekSite(), pickCheckerboard(), pokeSite(), precisionChange(), precisionChangeFast(), precisionChangeOrig(), Aggregation< Fobj, CComplex, nbasis >::PromoteFromSubspace(), real(), ImplicitlyRestartedLanczosSmoothedTester< Fobj, CComplex, nbasis >::ReconstructEval(), setCheckerboard(), KappaSimilarityTransform< Matrix, Field >::sscale(), sub(), sub(), sub(), toComplex(), and toReal().

◆ Checkerboard() [2/2]

template<class vobj>
accelerator_inline int & LatticeAccelerator< vobj >::Checkerboard ( void )
inlineinherited

Definition at line 38 of file Lattice_view.h.

References accelerator_inline.

◆ Advise() [1/2]

template<class vobj>
accelerator_inline ViewAdvise LatticeAccelerator< vobj >::Advise ( void ) const
inlineinherited

Definition at line 39 of file Lattice_view.h.

References accelerator_inline, and advise.

◆ Advise() [2/2]

template<class vobj>
accelerator_inline ViewAdvise & LatticeAccelerator< vobj >::Advise ( void )
inlineinherited

Definition at line 40 of file Lattice_view.h.

References accelerator_inline.

◆ Conformable()

template<class vobj>
accelerator_inline void LatticeAccelerator< vobj >::Conformable ( GridBase *& grid) const
inlineinherited

Definition at line 41 of file Lattice_view.h.

References _grid, accelerator_inline, and conformable().

◆ getGrid()

template<class vobj>
GridBase * LatticeAccelerator< vobj >::getGrid ( void ) const
inlineinherited

Definition at line 47 of file Lattice_view.h.

References _grid.

Referenced by peekLocalSite(), and pokeLocalSite().

◆ getHostPointer()

template<class vobj>
vobj * LatticeAccelerator< vobj >::getHostPointer ( void ) const
inlineinherited

Definition at line 48 of file Lattice_view.h.

References _odata.

◆ swap

template<class vobj>
void swap ( Lattice< vobj > & l,
Lattice< vobj > & r )
friend

Definition at line 364 of file Lattice_base.h.

Field Documentation

◆ _grid

template<class vobj>
GridBase* LatticeAccelerator< vobj >::_grid
protectedinherited

◆ checkerboard

template<class vobj>
int LatticeAccelerator< vobj >::checkerboard
protectedinherited

Definition at line 30 of file Lattice_view.h.

Referenced by Checkerboard(), and LatticeAccelerator().

◆ _odata

template<class vobj>
vobj* LatticeAccelerator< vobj >::_odata
protectedinherited

◆ _odata_size

template<class vobj>
uint64_t LatticeAccelerator< vobj >::_odata_size
protectedinherited

Definition at line 32 of file Lattice_view.h.

Referenced by LatticeAccelerator(), and oSites().

◆ advise

template<class vobj>
ViewAdvise LatticeAccelerator< vobj >::advise
protectedinherited

Definition at line 33 of file Lattice_view.h.

Referenced by Advise(), and LatticeAccelerator().


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