|
Grid 0.7.0
|
Go to the source code of this file.
Data Structures | |
| class | precisionChangeWorkspace |
Functions | |
| NAMESPACE_BEGIN (Grid) | |
| void | subdivides (GridBase *coarse, GridBase *fine) |
| template<class vobj> | |
| void | pickCheckerboard (int cb, Lattice< vobj > &half, const Lattice< vobj > &full) |
| template<class vobj> | |
| void | setCheckerboard (Lattice< vobj > &full, const Lattice< vobj > &half) |
| template<class vobj> | |
| void | acceleratorPickCheckerboard (int cb, Lattice< vobj > &half, const Lattice< vobj > &full, int checker_dim_half=0) |
| template<class vobj> | |
| void | acceleratorSetCheckerboard (Lattice< vobj > &full, const Lattice< vobj > &half, int checker_dim_half=0) |
| accelerator_inline void | convertType (ComplexD &out, const std::complex< double > &in) |
| accelerator_inline void | convertType (ComplexF &out, const std::complex< float > &in) |
| template<typename T> | |
| accelerator_inline EnableIf< isGridFundamental< T > > | convertType (T &out, const T &in) |
| accelerator_inline void | convertType (vComplexF &out, const vComplexD2 &in) |
| accelerator_inline void | convertType (vComplexD2 &out, const vComplexF &in) |
| template<typename T1, typename T2> | |
| accelerator_inline void | convertType (iScalar< T1 > &out, const iScalar< T2 > &in) |
| template<typename T1, typename T2> | |
| accelerator_inline NotEnableIf< isGridScalar< T1 > > | convertType (T1 &out, const iScalar< T2 > &in) |
| template<typename T1, typename T2> | |
| accelerator_inline NotEnableIf< isGridScalar< T2 > > | convertType (iScalar< T1 > &out, const T2 &in) |
| template<typename T1, typename T2, int N> | |
| accelerator_inline void | convertType (iMatrix< T1, N > &out, const iMatrix< T2, N > &in) |
| template<typename T1, typename T2, int N> | |
| accelerator_inline void | convertType (iVector< T1, N > &out, const iVector< T2, N > &in) |
| template<typename T1, typename T2> | |
| accelerator_inline void | convertType (Lattice< T1 > &out, const Lattice< T2 > &in) |
| template<class vobj> | |
| auto | localInnerProductD (const Lattice< vobj > &lhs, const Lattice< vobj > &rhs) -> Lattice< iScalar< decltype(TensorRemove(innerProductD2(lhs.View(CpuRead)[0], rhs.View(CpuRead)[0])))> > |
| template<class vobj, class CComplex, int nbasis, class VLattice> | |
| void | blockProject (Lattice< iVector< CComplex, nbasis > > &coarseData, const Lattice< vobj > &fineData, const VLattice &Basis) |
| template<class vobj, class CComplex, int nbasis, class VLattice> | |
| void | batchBlockProject (std::vector< Lattice< iVector< CComplex, nbasis > > > &coarseData, const std::vector< Lattice< vobj > > &fineData, const VLattice &Basis) |
| template<class vobj, class vobj2, class CComplex> | |
| void | blockZAXPY (Lattice< vobj > &fineZ, const Lattice< CComplex > &coarseA, const Lattice< vobj2 > &fineX, const Lattice< vobj > &fineY) |
| template<class vobj, class CComplex> | |
| void | blockInnerProductD (Lattice< CComplex > &CoarseInner, const Lattice< vobj > &fineX, const Lattice< vobj > &fineY) |
| template<class vobj, class CComplex> | |
| void | blockInnerProduct (Lattice< CComplex > &CoarseInner, const Lattice< vobj > &fineX, const Lattice< vobj > &fineY) |
| template<class vobj, class CComplex> | |
| void | blockNormalise (Lattice< CComplex > &ip, Lattice< vobj > &fineX) |
| template<class vobj> | |
| void | blockSum (Lattice< vobj > &coarseData, const Lattice< vobj > &fineData) |
| template<class vobj> | |
| void | blockPick (GridBase *coarse, const Lattice< vobj > &unpicked, Lattice< vobj > &picked, Coordinate coor) |
| template<class CComplex, class VLattice> | |
| void | blockOrthonormalize (Lattice< CComplex > &ip, VLattice &Basis) |
| template<class vobj, class CComplex> | |
| void | blockOrthogonalise (Lattice< CComplex > &ip, std::vector< Lattice< vobj > > &Basis) |
| template<class vobj, class CComplex, int nbasis, class VLattice> | |
| void | blockPromote (const Lattice< iVector< CComplex, nbasis > > &coarseData, Lattice< vobj > &fineData, const VLattice &Basis) |
| template<class vobj, class CComplex, int nbasis, class VLattice> | |
| void | batchBlockPromote (const std::vector< Lattice< iVector< CComplex, nbasis > > > &coarseData, std::vector< Lattice< vobj > > &fineData, const VLattice &Basis) |
| template<class vobj, class vvobj> | |
| void | localConvert (const Lattice< vobj > &in, Lattice< vvobj > &out) |
| template<class vobj> | |
| void | localCopyRegion (const Lattice< vobj > &From, Lattice< vobj > &To, Coordinate FromLowerLeft, Coordinate ToLowerLeft, Coordinate RegionSize) |
| template<class vobj> | |
| void | InsertSliceFast (const Lattice< vobj > &From, Lattice< vobj > &To, int slice, int orthog) |
| template<class vobj> | |
| void | ExtractSliceFast (Lattice< vobj > &To, const Lattice< vobj > &From, int slice, int orthog) |
| template<class vobj> | |
| void | InsertSlice (const Lattice< vobj > &lowDim, Lattice< vobj > &higherDim, int slice, int orthog) |
| template<class vobj> | |
| void | ExtractSlice (Lattice< vobj > &lowDim, const Lattice< vobj > &higherDim, int slice, int orthog) |
| template<class vobj> | |
| void | InsertSliceLocal (const Lattice< vobj > &lowDim, Lattice< vobj > &higherDim, int slice_lo, int slice_hi, int orthog) |
| template<class vobj> | |
| void | ExtractSliceLocal (Lattice< vobj > &lowDim, const Lattice< vobj > &higherDim, int slice_lo, int slice_hi, int orthog) |
| template<class vobj> | |
| void | Replicate (const Lattice< vobj > &coarse, Lattice< vobj > &fine) |
| template<typename vobj, typename sobj> | |
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type | unvectorizeToLexOrdArray (std::vector< sobj > &out, const Lattice< vobj > &in) |
| template<typename vobj, typename sobj> | |
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type | unvectorizeToRevLexOrdArray (std::vector< sobj > &out, const Lattice< vobj > &in) |
| template<typename vobj, typename sobj> | |
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type | vectorizeFromLexOrdArray (std::vector< sobj > &in, Lattice< vobj > &out) |
| template<typename vobj, typename sobj> | |
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type | vectorizeFromRevLexOrdArray (std::vector< sobj > &in, Lattice< vobj > &out) |
| template<class VobjOut, class VobjIn> | |
| void | precisionChangeFast (Lattice< VobjOut > &out, const Lattice< VobjIn > &in) |
| template<class VobjOut, class VobjIn> | |
| void | precisionChangeOrig (Lattice< VobjOut > &out, const Lattice< VobjIn > &in) |
| template<class VobjOut, class VobjIn> | |
| auto | _precisionChangeFastWrap (Lattice< VobjOut > &out, const Lattice< VobjIn > &in, int dummy) -> decltype(precisionChange(((typename VobjOut::vector_type *) 0),((typename VobjIn::vector_type *) 0), 1), int()) |
| template<class VobjOut, class VobjIn> | |
| int | _precisionChangeFastWrap (Lattice< VobjOut > &out, const Lattice< VobjIn > &in, long dummy) |
| template<class VobjOut, class VobjIn> | |
| void | precisionChange (Lattice< VobjOut > &out, const Lattice< VobjIn > &in, const precisionChangeWorkspace &workspace) |
| template<class VobjOut, class VobjIn> | |
| void | precisionChange (Lattice< VobjOut > &out, const Lattice< VobjIn > &in) |
| template<class Vobj> | |
| void | Grid_split (std::vector< Lattice< Vobj > > &full, Lattice< Vobj > &split) |
| template<class Vobj> | |
| void | Grid_split (Lattice< Vobj > &full, Lattice< Vobj > &split) |
| template<class Vobj> | |
| void | Grid_unsplit (std::vector< Lattice< Vobj > > &full, Lattice< Vobj > &split) |
| template<class vobj, class CComplex, int nbasis, class VLattice> | |
| void | blockProjectFast (Lattice< iVector< CComplex, nbasis > > &coarseData, const Lattice< vobj > &fineData, const VLattice &Basis) |
| NAMESPACE_END (Grid) | |
| NAMESPACE_BEGIN | ( | Grid | ) |
Definition at line 32 of file Lattice_transfer.h.
References CartesianCommunicator::_ndimension, CartesianCommunicator::_processors, GridBase::_rdimensions, and GridBase::_simd_layout.
Referenced by blockOrthonormalize(), blockSum(), blockZAXPY(), MultiRHSBlockProject< Field >::ExportFineGridVectors(), MultiRHSBlockProject< Field >::ImportFineGridVectors(), and Replicate().
|
inline |
Definition at line 50 of file Lattice_transfer.h.
References autoView, LatticeAccelerator< vobj >::Checkerboard(), CpuRead, CpuWrite, Lattice< vobj >::Grid(), GridBase::oSites(), and thread_for.
Referenced by ImprovedStaggeredFermion5D< Impl >::CopyGaugeCheckerboards(), ImprovedStaggeredFermion< Impl >::CopyGaugeCheckerboards(), NaiveStaggeredFermion< Impl >::CopyGaugeCheckerboards(), DWFSlowFermion< WilsonImplF >::DWFSlowFermion(), GridParallelRNG::fill(), CoarsenedMatrix< Fobj, CComplex, nbasis >::FillHalfCbs(), CompactWilsonCloverFermion5D< Impl, CloverHelpers >::ImportGauge(), CompactWilsonCloverFermion< Impl, CloverHelpers >::ImportGauge(), WilsonCloverFermion< Impl, CloverHelpers >::ImportGauge(), Grid::SchurRedBlackBase< Field >::operator()(), Grid::SchurRedBlackBase< Field >::operator()(), Grid::SchurRedBlackBase< Field >::RedBlackSolution(), Grid::NonHermitianSchurRedBlackDiagMooeeSolve< Field >::RedBlackSource(), Grid::NonHermitianSchurRedBlackDiagTwoSolve< Field >::RedBlackSource(), Grid::SchurRedBlackDiagMooeeSolve< Field >::RedBlackSource(), Grid::SchurRedBlackDiagOneSolve< Field >::RedBlackSource(), Grid::SchurRedBlackDiagTwoSolve< Field >::RedBlackSource(), Grid::SchurRedBlackStaggeredSolve< Field >::RedBlackSource(), GeneralEvenOddRatioRationalPseudoFermionAction< Impl >::refresh(), OneFlavourEvenOddRationalPseudoFermionAction< Impl >::refresh(), TwoFlavourEvenOddPseudoFermionAction< Impl >::refresh(), TwoFlavourEvenOddRatioPseudoFermionAction< Impl >::refresh(), CompactWilsonCloverHelpers< Impl >::SetupMasks(), and SmearedConfigurationMasked< Gimpl >::SmearedConfigurationMasked().
|
inline |
Definition at line 68 of file Lattice_transfer.h.
References autoView, LatticeAccelerator< vobj >::Checkerboard(), CpuRead, CpuWrite, Lattice< vobj >::Grid(), GridBase::oSites(), and thread_for.
Referenced by SchurDifferentiableOperator< Impl >::MpcDagDeriv(), SchurDifferentiableOperator< Impl >::MpcDeriv(), Grid::NonHermitianSchurRedBlackDiagMooeeSolve< Field >::RedBlackSolution(), Grid::NonHermitianSchurRedBlackDiagTwoSolve< Field >::RedBlackSolution(), Grid::SchurRedBlackDiagMooeeSolve< Field >::RedBlackSolution(), Grid::SchurRedBlackDiagOneSolve< Field >::RedBlackSolution(), Grid::SchurRedBlackDiagTwoSolve< Field >::RedBlackSolution(), Grid::SchurRedBlackStaggeredSolve< Field >::RedBlackSolution(), and SmearedConfigurationMasked< Gimpl >::SmearedConfigurationMasked().
|
inline |
Definition at line 88 of file Lattice_transfer.h.
References GridBase::_checker_dim_mask, CartesianCommunicator::_ndimension, GridBase::_ostride, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, LatticeAccelerator< vobj >::Checkerboard(), coalescedWrite(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and GridBase::oSites().
|
inline |
Definition at line 122 of file Lattice_transfer.h.
References GridBase::_checker_dim_mask, CartesianCommunicator::_ndimension, GridBase::_ostride, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, LatticeAccelerator< vobj >::Checkerboard(), coalescedWrite(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and GridBase::oSites().
| accelerator_inline void convertType | ( | ComplexD & | out, |
| const std::complex< double > & | in ) |
Definition at line 162 of file Lattice_transfer.h.
References accelerator_inline.
Referenced by convertType(), convertType(), convertType(), convertType(), convertType(), and sumD_gpu_tensor().
| accelerator_inline void convertType | ( | ComplexF & | out, |
| const std::complex< float > & | in ) |
Definition at line 166 of file Lattice_transfer.h.
References accelerator_inline.
| accelerator_inline EnableIf< isGridFundamental< T > > convertType | ( | T & | out, |
| const T & | in ) |
Definition at line 171 of file Lattice_transfer.h.
References accelerator_inline.
| accelerator_inline void convertType | ( | vComplexF & | out, |
| const vComplexD2 & | in ) |
Definition at line 196 of file Lattice_transfer.h.
References accelerator_inline, and precisionChange().
| accelerator_inline void convertType | ( | vComplexD2 & | out, |
| const vComplexF & | in ) |
Definition at line 200 of file Lattice_transfer.h.
References accelerator_inline, and precisionChange().
| accelerator_inline void convertType | ( | iScalar< T1 > & | out, |
| const iScalar< T2 > & | in ) |
Definition at line 205 of file Lattice_transfer.h.
References iScalar< vtype >::_internal, accelerator_inline, and convertType().
| accelerator_inline NotEnableIf< isGridScalar< T1 > > convertType | ( | T1 & | out, |
| const iScalar< T2 > & | in ) |
Definition at line 210 of file Lattice_transfer.h.
References iScalar< vtype >::_internal, accelerator_inline, convertType(), and T1.
| accelerator_inline NotEnableIf< isGridScalar< T2 > > convertType | ( | iScalar< T1 > & | out, |
| const T2 & | in ) |
Definition at line 215 of file Lattice_transfer.h.
References iScalar< vtype >::_internal, accelerator_inline, convertType(), and T2.
| accelerator_inline void convertType | ( | iMatrix< T1, N > & | out, |
| const iMatrix< T2, N > & | in ) |
Definition at line 220 of file Lattice_transfer.h.
References iMatrix< vtype, N >::_internal, accelerator_inline, and convertType().
| accelerator_inline void convertType | ( | iVector< T1, N > & | out, |
| const iVector< T2, N > & | in ) |
Definition at line 227 of file Lattice_transfer.h.
References iVector< vtype, N >::_internal, accelerator_inline, and convertType().
| accelerator_inline void convertType | ( | Lattice< T1 > & | out, |
| const Lattice< T2 > & | in ) |
Definition at line 233 of file Lattice_transfer.h.
References accelerator_for, accelerator_inline, AcceleratorRead, AcceleratorWrite, and autoView.
|
inline |
Definition at line 245 of file Lattice_transfer.h.
References accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, CpuRead, innerProductD2(), and TensorRemove().
Referenced by blockInnerProductD().
|
inline |
Definition at line 267 of file Lattice_transfer.h.
References accelerator_for, AcceleratorWrite, autoView, blockInnerProductD(), blockZAXPY(), Lattice< vobj >::Grid(), GridBase::oSites(), and usecond().
Referenced by CoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), Grid::LocalCoherenceDeflatedGuesser< FineField, CoarseField >::operator()(), Grid::LocalCoherenceDeflatedGuesser< FineField, CoarseField >::operator()(), ProjectedFunctionHermOp< Fobj, CComplex, nbasis >::operator()(), ProjectedHermOp< Fobj, CComplex, nbasis >::operator()(), and Aggregation< Fobj, CComplex, nbasis >::ProjectToSubspace().
|
inline |
Definition at line 307 of file Lattice_transfer.h.
References accelerator_for, AcceleratorWrite, autoView, blockInnerProductD(), blockZAXPY(), and GridBase::oSites().
|
inline |
Definition at line 338 of file Lattice_transfer.h.
References CartesianCommunicator::_ndimension, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, LatticeAccelerator< vobj >::Checkerboard(), conformable(), Lattice< vobj >::Grid(), GridBase::oSites(), and subdivides().
Referenced by batchBlockProject(), batchBlockPromote(), blockNormalise(), blockOrthonormalize(), blockProject(), blockPromote(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), and MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator().
|
inline |
Definition at line 398 of file Lattice_transfer.h.
References accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, blockSum(), LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), innerProductD2(), localInnerProductD(), TensorRemove(), and usecond().
Referenced by batchBlockProject(), blockOrthonormalize(), blockProject(), and blockProjectFast().
|
inline |
Definition at line 432 of file Lattice_transfer.h.
References accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, blockSum(), LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), innerProduct(), and localInnerProduct().
Referenced by blockNormalise().
|
inline |
Definition at line 457 of file Lattice_transfer.h.
References blockInnerProduct(), blockZAXPY(), LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), and pow().
Referenced by blockOrthonormalize().
|
inline |
Definition at line 468 of file Lattice_transfer.h.
References CartesianCommunicator::_ndimension, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, AcceleratorWriteDiscard, autoView, coalescedWrite(), Lattice< vobj >::Grid(), GridBase::oSites(), and subdivides().
Referenced by blockInnerProduct(), blockInnerProductD(), and blockMaskedInnerProduct().
|
inline |
Definition at line 553 of file Lattice_transfer.h.
References CartesianCommunicator::_ndimension, GridBase::_rdimensions, LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), and LatticeCoordinate().
|
inline |
Definition at line 574 of file Lattice_transfer.h.
References blockInnerProductD(), blockNormalise(), blockZAXPY(), conformable(), Lattice< vobj >::Grid(), and subdivides().
Referenced by blockOrthogonalise().
|
inline |
Definition at line 599 of file Lattice_transfer.h.
References blockOrthonormalize().
Referenced by CoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), Aggregation< Fobj, CComplex, nbasis >::Orthogonalise(), and LocalCoherenceLanczos< Fobj, CComplex, nbasis >::Orthogonalise().
|
inline |
Definition at line 662 of file Lattice_transfer.h.
References blockZAXPY(), Lattice< vobj >::Grid(), and PeekIndex().
Referenced by LocalCoherenceLanczos< Fobj, CComplex, nbasis >::getFineEvecEval(), Grid::LocalCoherenceDeflatedGuesser< FineField, CoarseField >::operator()(), Grid::LocalCoherenceDeflatedGuesser< FineField, CoarseField >::operator()(), ProjectedFunctionHermOp< Fobj, CComplex, nbasis >::operator()(), ProjectedHermOp< Fobj, CComplex, nbasis >::operator()(), Aggregation< Fobj, CComplex, nbasis >::PromoteFromSubspace(), and ImplicitlyRestartedLanczosSmoothedTester< Fobj, CComplex, nbasis >::ReconstructEval().
|
inline |
Definition at line 685 of file Lattice_transfer.h.
References blockZAXPY(), Lattice< vobj >::Grid(), and PeekIndex().
| void localConvert | ( | const Lattice< vobj > & | in, |
| Lattice< vvobj > & | out ) |
Definition at line 707 of file Lattice_transfer.h.
References GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_processors, autoView, CpuRead, CpuWrite, Lattice< vobj >::Grid(), GridBase::lSites(), and thread_for.
| void localCopyRegion | ( | const Lattice< vobj > & | From, |
| Lattice< vobj > & | To, | ||
| Coordinate | FromLowerLeft, | ||
| Coordinate | ToLowerLeft, | ||
| Coordinate | RegionSize ) |
Definition at line 741 of file Lattice_transfer.h.
References GridBase::_isCheckerBoarded, GridBase::_istride, CartesianCommunicator::_ndimension, GridBase::_ostride, CartesianCommunicator::_processors, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, base, getlane(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and putlane().
Referenced by PaddedCell::Extract(), PaddedCell::Face_exchange(), and InsertSliceLocal().
| void InsertSliceFast | ( | const Lattice< vobj > & | From, |
| Lattice< vobj > & | To, | ||
| int | slice, | ||
| int | orthog ) |
Definition at line 811 of file Lattice_transfer.h.
References GridBase::_isCheckerBoarded, GridBase::_istride, GridBase::_ldimensions, CartesianCommunicator::_ndimension, GridBase::_ostride, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, getlane(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and putlane().
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), and TwoLevelADEF2mrhs< Field, CoarseField >::Vstart().
| void ExtractSliceFast | ( | Lattice< vobj > & | To, |
| const Lattice< vobj > & | From, | ||
| int | slice, | ||
| int | orthog ) |
Definition at line 880 of file Lattice_transfer.h.
References GridBase::_isCheckerBoarded, GridBase::_istride, GridBase::_ldimensions, CartesianCommunicator::_ndimension, GridBase::_ostride, GridBase::_rdimensions, accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, getlane(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and putlane().
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), and TwoLevelADEF2mrhs< Field, CoarseField >::Vstart().
| void InsertSlice | ( | const Lattice< vobj > & | lowDim, |
| Lattice< vobj > & | higherDim, | ||
| int | slice, | ||
| int | orthog ) |
Definition at line 949 of file Lattice_transfer.h.
References GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_processors, autoView, CpuRead, CpuWrite, Lattice< vobj >::Grid(), GridBase::lSites(), peekLocalSite(), pokeLocalSite(), and thread_for.
Referenced by DWFSlowFermion< WilsonImplF >::ImportGauge(), CayleyFermion5D< Impl >::ImportPhysicalFermionSource(), ContinuedFractionFermion5D< Impl >::ImportPhysicalFermionSource(), PartialFractionFermion5D< Impl >::ImportPhysicalFermionSource(), WilsonFermion5D< Impl >::MomentumSpacePropagatorHt_5d(), MADWF< Matrixo, Matrixi, PVinverter, SchurSolver, Guesser >::operator()(), Reconstruct5DfromPhysical< Field, PVinverter >::operator()(), FourierAcceleratedPV< Vi, M, G >::pvInv(), CayleyFermion5D< Impl >::SeqConservedCurrent(), ImplicitlyRestartedBlockLanczosCoarse< Field >::SingleOperator(), sliceMaddMatrix(), and ImplicitlyRestartedBlockLanczosCoarse< Field >::VectorPoly().
| void ExtractSlice | ( | Lattice< vobj > & | lowDim, |
| const Lattice< vobj > & | higherDim, | ||
| int | slice, | ||
| int | orthog ) |
Definition at line 999 of file Lattice_transfer.h.
References GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_processors, autoView, LatticeAccelerator< vobj >::Checkerboard(), CpuRead, CpuWrite, Lattice< vobj >::Grid(), GridBase::lSites(), peekLocalSite(), pokeLocalSite(), and thread_for.
Referenced by CayleyFermion5D< Impl >::ContractConservedCurrent(), CayleyFermion5D< Impl >::ContractJ5q(), CayleyFermion5D< Impl >::ContractJ5q(), ContinuedFractionFermion5D< Impl >::ExportPhysicalFermionSolution(), PartialFractionFermion5D< Impl >::ExportPhysicalFermionSolution(), CayleyFermion5D< Impl >::ExportPhysicalFermionSource(), WilsonFermion5D< Impl >::MomentumSpacePropagatorHt_5d(), MADWF< Matrixo, Matrixi, PVinverter, SchurSolver, Guesser >::operator()(), Reconstruct5DfromPhysical< Field, PVinverter >::operator()(), FourierAcceleratedPV< Vi, M, G >::pvInv(), CayleyFermion5D< Impl >::SeqConservedCurrent(), ImplicitlyRestartedBlockLanczosCoarse< Field >::SingleOperator(), sliceInnerProductMatrix(), sliceMaddMatrix(), and ImplicitlyRestartedBlockLanczosCoarse< Field >::VectorPoly().
| void InsertSliceLocal | ( | const Lattice< vobj > & | lowDim, |
| Lattice< vobj > & | higherDim, | ||
| int | slice_lo, | ||
| int | slice_hi, | ||
| int | orthog ) |
Definition at line 1050 of file Lattice_transfer.h.
References GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_processors, Lattice< vobj >::Grid(), and localCopyRegion().
Referenced by PaddedCell::Expand(), and ExtractSliceLocal().
| void ExtractSliceLocal | ( | Lattice< vobj > & | lowDim, |
| const Lattice< vobj > & | higherDim, | ||
| int | slice_lo, | ||
| int | slice_hi, | ||
| int | orthog ) |
Definition at line 1078 of file Lattice_transfer.h.
References InsertSliceLocal().
Definition at line 1085 of file Lattice_transfer.h.
References GridBase::_fdimensions, GridBase::_gdimensions, CartesianCommunicator::_ndimension, GridBase::GlobalIndexToGlobalCoor(), Lattice< vobj >::Grid(), GridBase::gSites(), peekSite(), pokeSite(), and subdivides().
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type unvectorizeToLexOrdArray | ( | std::vector< sobj > & | out, |
| const Lattice< vobj > & | in ) |
Definition at line 1123 of file Lattice_transfer.h.
References autoView, CpuRead, extract(), Lattice< vobj >::Grid(), GridBase::iCoorFromIindex(), GridBase::lSites(), GridBase::Nd(), GridBase::oSites(), and thread_for.
Referenced by Grid_split(), Grid_unsplit(), precisionChangeOrig(), BinaryIO::Uint32Checksum(), and BinaryIO::writeLatticeObject().
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type unvectorizeToRevLexOrdArray | ( | std::vector< sobj > & | out, |
| const Lattice< vobj > & | in ) |
Definition at line 1172 of file Lattice_transfer.h.
References LatticeAccelerator< vobj >::_grid, LatticeAccelerator< vobj >::_odata, GridBase::iCoorFromIindex(), GridBase::lSites(), GridBase::Nd(), GridBase::oSites(), and thread_for.
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type vectorizeFromLexOrdArray | ( | std::vector< sobj > & | in, |
| Lattice< vobj > & | out ) |
Definition at line 1218 of file Lattice_transfer.h.
References autoView, CpuWrite, Lattice< vobj >::Grid(), GridBase::iCoorFromIindex(), GridBase::lSites(), merge(), GridBase::Nd(), GridBase::oSites(), and thread_for.
Referenced by Grid_split(), Grid_unsplit(), OpenQcdIO::readConfiguration(), OpenQcdIOChromaReference::readConfiguration(), and BinaryIO::readLatticeObject().
| std::enable_if< isSIMDvectorized< vobj >::value &&!isSIMDvectorized< sobj >::value, void >::type vectorizeFromRevLexOrdArray | ( | std::vector< sobj > & | in, |
| Lattice< vobj > & | out ) |
Definition at line 1265 of file Lattice_transfer.h.
References LatticeAccelerator< vobj >::_grid, LatticeAccelerator< vobj >::_odata, GridBase::iCoorFromIindex(), GridBase::lSites(), GridBase::Nd(), GridBase::oSites(), and thread_for.
| void precisionChangeFast | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in ) |
Definition at line 1312 of file Lattice_transfer.h.
References accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, LatticeAccelerator< vobj >::Checkerboard(), conformable(), Lattice< vobj >::Grid(), GridBase::Nsimd(), and GridBase::oSites().
Referenced by _precisionChangeFastWrap().
| void precisionChangeOrig | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in ) |
Definition at line 1330 of file Lattice_transfer.h.
References autoView, LatticeAccelerator< vobj >::Checkerboard(), CpuWrite, GridBase::FullDimensions(), Lattice< vobj >::Grid(), GridBase::iCoorFromIindex(), GridBase::lSites(), merge(), GridBase::Nd(), Nd, GridBase::Nsimd(), GridBase::oSites(), thread_for, and unvectorizeToLexOrdArray().
| auto _precisionChangeFastWrap | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in, | ||
| int | dummy ) -> decltype(precisionChange(((typename VobjOut::vector_type *) 0),((typename VobjIn::vector_type *) 0), 1), int()) |
Definition at line 1444 of file Lattice_transfer.h.
References precisionChangeFast().
Referenced by precisionChange(), and precisionChange().
| int _precisionChangeFastWrap | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in, | ||
| long | dummy ) |
Definition at line 1453 of file Lattice_transfer.h.
| void precisionChange | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in, | ||
| const precisionChangeWorkspace & | workspace ) |
Definition at line 1461 of file Lattice_transfer.h.
References _precisionChangeFastWrap(), accelerator_for, AcceleratorRead, AcceleratorWrite, autoView, LatticeAccelerator< vobj >::Checkerboard(), precisionChangeWorkspace::checkGrids(), precisionChangeWorkspace::getMap(), Lattice< vobj >::Grid(), and GridBase::oSites().
Referenced by Grid::MixedPrecisionFlexibleGeneralisedMinimalResidual< FieldD, FieldF, type, type >::arnoldiStep(), convert(), convertType(), convertType(), GeneralEvenOddRatioRationalMixedPrecPseudoFermionAction< ImplD, ImplF >::ImportGauge(), innerProductD2(), innerProductD2(), ConjugateGradientMultiShiftMixedPrec< FieldD, FieldF, type, type >::operator()(), ConjugateGradientMultiShiftMixedPrecCleanup< FieldD, FieldF, type, type >::operator()(), ConjugateGradientReliableUpdate< FieldD, FieldF, type, type >::operator()(), MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::operator()(), MixedPrecisionConjugateGradient< FieldD, FieldF, type, type >::operator()(), MixedPrecisionConjugateGradientBatched< FieldD, FieldF, type, type >::operator()(), and precisionChange().
| void precisionChange | ( | Lattice< VobjOut > & | out, |
| const Lattice< VobjIn > & | in ) |
Definition at line 1489 of file Lattice_transfer.h.
References _precisionChangeFastWrap(), Lattice< vobj >::Grid(), and precisionChange().
| void Grid_split | ( | std::vector< Lattice< Vobj > > & | full, |
| Lattice< Vobj > & | split ) |
Definition at line 1546 of file Lattice_transfer.h.
References GridBase::_fdimensions, GridBase::_gdimensions, GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_Nprocessors, CartesianCommunicator::_processors, CartesianCommunicator::AllToAll(), LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), GridBase::lSites(), thread_for, unvectorizeToLexOrdArray(), and vectorizeFromLexOrdArray().
Referenced by Grid::ImplicitlyRestartedBlockLanczos< Field >::blockwiseStep(), and Grid_split().
Definition at line 1661 of file Lattice_transfer.h.
References CartesianCommunicator::_Nprocessors, Lattice< vobj >::Grid(), and Grid_split().
| void Grid_unsplit | ( | std::vector< Lattice< Vobj > > & | full, |
| Lattice< Vobj > & | split ) |
Definition at line 1672 of file Lattice_transfer.h.
References GridBase::_fdimensions, GridBase::_gdimensions, GridBase::_ldimensions, CartesianCommunicator::_ndimension, CartesianCommunicator::_Nprocessors, CartesianCommunicator::_processors, CartesianCommunicator::AllToAll(), LatticeAccelerator< vobj >::Checkerboard(), Lattice< vobj >::Grid(), GridBase::lSites(), thread_for, unvectorizeToLexOrdArray(), and vectorizeFromLexOrdArray().
Referenced by Grid::ImplicitlyRestartedBlockLanczos< Field >::blockwiseStep().
|
inline |
Definition at line 1796 of file Lattice_transfer.h.
References accelerator_for, AcceleratorWrite, autoView, blockInnerProductD(), Lattice< vobj >::Grid(), GridBase::oSites(), and usecond().
| NAMESPACE_END | ( | Grid | ) |