Grid 0.7.0
GridBase Class Referenceabstract

#include <Cartesian_base.h>

Inheritance diagram for GridBase:
CartesianCommunicator GridThread SharedMemory GridCartesian GridRedBlackCartesian

Public Types

enum  CommunicatorPolicy_t { CommunicatorPolicyConcurrent , CommunicatorPolicySequential }

Public Member Functions

 GridBase (const Coordinate &processor_grid)
 GridBase (const Coordinate &processor_grid, const CartesianCommunicator &parent, int &split_rank)
 GridBase (const Coordinate &processor_grid, const CartesianCommunicator &parent)
virtual ~GridBase ()=default
virtual int CheckerBoarded (int dim)=0
virtual int CheckerBoard (const Coordinate &site)=0
virtual int CheckerBoardDestination (int source_cb, int shift, int dim)=0
virtual int CheckerBoardShift (int source_cb, int dim, int shift, int osite)=0
virtual int CheckerBoardShiftForCB (int source_cb, int dim, int shift, int cb)=0
virtual int CheckerBoardFromOindex (int Oindex)=0
virtual int CheckerBoardFromOindexTable (int Oindex)=0
virtual int oIndex (Coordinate &coor)
virtual int iIndex (Coordinate &lcoor)
int oIndexReduced (Coordinate &ocoor)
void oCoorFromOindex (Coordinate &coor, int Oindex)
void InOutCoorToLocalCoor (Coordinate &ocoor, Coordinate &icoor, Coordinate &lcoor)
void iCoorFromIindex (Coordinate &coor, int lane)
int PermuteDim (int dimension)
int PermuteType (int dimension)
int iSites (void) const
int Nsimd (void) const
int oSites (void) const
int lSites (void) const
int64_t gSites (void) const
int Nd (void) const
const Coordinate LocalStarts (void)
const CoordinateFullDimensions (void)
const CoordinateGlobalDimensions (void)
const CoordinateLocalDimensions (void)
const CoordinateVirtualLocalDimensions (void)
void show_decomposition ()
void GlobalIndexToGlobalCoor (int64_t gidx, Coordinate &gcoor)
void LocalIndexToLocalCoor (int lidx, Coordinate &lcoor)
void GlobalCoorToGlobalIndex (const Coordinate &gcoor, int64_t &gidx)
void GlobalCoorToProcessorCoorLocalCoor (Coordinate &pcoor, Coordinate &lcoor, const Coordinate &gcoor)
void GlobalCoorToRankIndex (int &rank, int &o_idx, int &i_idx, const Coordinate &gcoor)
void RankIndexToGlobalCoor (int rank, int o_idx, int i_idx, Coordinate &gcoor)
void RankIndexCbToFullGlobalCoor (int rank, int o_idx, int i_idx, int cb, Coordinate &fcoor)
void ProcessorCoorLocalCoorToGlobalCoor (Coordinate &Pcoor, Coordinate &Lcoor, Coordinate &gcoor)
void ShiftedRanks (int dim, int shift, int &source, int &dest)
int RankFromProcessorCoor (Coordinate &coor)
void ProcessorCoorFromRank (int rank, Coordinate &coor)
int Dimensions (void)
int IsBoss (void)
int BossRank (void)
int ThisRank (void)
const CoordinateThisProcessorCoor (void)
const CoordinateShmGrid (void)
const CoordinateProcessorGrid (void)
int ProcessorCount (void)
void GlobalMax (RealD &)
void GlobalMax (RealF &)
void GlobalSum (RealF &)
void GlobalSum (RealD &)
void GlobalSum (uint32_t &)
void GlobalSum (uint64_t &)
void GlobalSum (ComplexF &c)
void GlobalSum (ComplexD &c)
template<class obj>
void GlobalSum (obj &o)
void GlobalSumVector (RealF *, int N)
void GlobalSumVector (RealD *, int N)
void GlobalSumVector (uint64_t *, int N)
void GlobalSumVector (ComplexF *c, int N)
void GlobalSumVector (ComplexD *c, int N)
void GlobalXOR (uint32_t &)
void GlobalXOR (uint64_t &)
template<class obj>
void GlobalSumP2P (obj &o)
void CommsComplete (std::vector< MpiCommsRequest_t > &list)
void SendToRecvFromBegin (std::vector< MpiCommsRequest_t > &list, void *xmit, int dest, void *recv, int from, int bytes, int dir)
void SendToRecvFrom (void *xmit, int xmit_to_rank, void *recv, int recv_from_rank, int bytes)
int IsOffNode (int rank)
double StencilSendToRecvFrom (void *xmit, int xmit_to_rank, int do_xmit, void *recv, int recv_from_rank, int do_recv, int bytes, int dir)
double StencilSendToRecvFromPrepare (std::vector< CommsRequest_t > &list, void *xmit, int xmit_to_rank, int do_xmit, void *recv, int recv_from_rank, int do_recv, int xbytes, int rbytes, int dir)
void StencilSendToRecvFromPollDtoH (std::vector< CommsRequest_t > &list)
void StencilSendToRecvFromPollIRecv (std::vector< CommsRequest_t > &list)
double StencilSendToRecvFromBegin (std::vector< CommsRequest_t > &list, void *xmit, void *xmit_comp, int xmit_to_rank, int do_xmit, void *recv, void *recv_comp, int recv_from_rank, int do_recv, int xbytes, int rbytes, int dir)
void StencilSendToRecvFromComplete (std::vector< CommsRequest_t > &waitall, int i)
void StencilBarrier (void)
void Barrier (void)
void Broadcast (int root, void *data, int bytes)
template<class obj>
void Broadcast (int root, obj &data)
template<class T>
void AllToAll (int dim, std::vector< T > &in, std::vector< T > &out)
void AllToAll (int dim, void *in, void *out, uint64_t words, uint64_t bytes)
void AllToAll (void *in, void *out, uint64_t words, uint64_t bytes)
void SetCommunicator (Grid_MPI_Comm comm)
void ShmBarrier (void)
void SharedMemoryTest (void)
void * ShmBufferSelf (void)
void * ShmBuffer (int rank)
void * ShmBufferTranslate (int rank, void *local_p)
void * ShmBufferMalloc (size_t bytes)
void ShmBufferFreeAll (void)
int NodeCount (void)
int RankCount (void)

Static Public Member Functions

static void SetCommunicatorPolicy (CommunicatorPolicy_t policy)
static void Init (int *argc, char ***argv)
static int RankWorld (void)
static void BroadcastWorld (int root, void *data, int bytes)
static void BarrierWorld (void)
static void SetCores (int cr)
static void SetThreads (int thr)
static void SetMaxThreads (void)
static int GetHyperThreads (void)
static int GetCores (void)
static int GetThreads (void)
static int SumArraySize (void)
static void GetWork (int nwork, int me, int &mywork, int &myoff)
static void GetWork (int nwork, int me, int &mywork, int &myoff, int units)
static void GetWorkBarrier (int nwork, int &me, int &mywork, int &myoff)
static int ThreadBarrier (void)
template<class obj>
static void ThreadSum (std::vector< obj > &sum_array, obj &val, int me)
static void bcopy (const void *src, void *dst, size_t len)

Data Fields

int dummy
Coordinate _simd_layout
Coordinate _fdimensions
Coordinate _gdimensions
Coordinate _ldimensions
Coordinate _rdimensions
Coordinate _ostride
Coordinate _istride
int _osites
int _isites
int64_t _fsites
int64_t _gsites
Coordinate _slice_block
Coordinate _slice_stride
Coordinate _slice_nblock
Coordinate _lstart
Coordinate _lend
bool _isCheckerBoarded
int LocallyPeriodic
Coordinate _checker_dim_mask
int _checker_dim
int _Nprocessors
int _processor
unsigned long _ndimension
Coordinate _shm_processors
Coordinate _processors
Coordinate _processor_coor
Grid_MPI_Comm communicator
std::vector< Grid_MPI_Commcommunicator_halo

Static Public Attributes

static CommunicatorPolicy_t CommunicatorPolicy
static int nCommThreads
static Grid_MPI_Comm communicator_world
static int _threads
static int _hyperthreads
static int _cores

Protected Attributes

Grid_MPI_Comm ShmComm
int ShmRank
int ShmSize
std::vector< void * > ShmCommBufs
std::vector< int > ShmRanks

Private Member Functions

void InitFromMPICommunicator (const Coordinate &processors, Grid_MPI_Comm communicator_base)

Private Attributes

size_t heap_top
size_t heap_bytes
size_t heap_size

Static Private Attributes

static const int MAXLOG2RANKSPERNODE

Friends

template<class object>
class Lattice

Detailed Description

Definition at line 43 of file Cartesian_base.h.

Member Enumeration Documentation

◆ CommunicatorPolicy_t

Enumerator
CommunicatorPolicyConcurrent 
CommunicatorPolicySequential 

Definition at line 49 of file Communicator_base.h.

Constructor & Destructor Documentation

◆ GridBase() [1/3]

◆ GridBase() [2/3]

GridBase::GridBase ( const Coordinate & processor_grid,
const CartesianCommunicator & parent,
int & split_rank )
inline

◆ GridBase() [3/3]

GridBase::GridBase ( const Coordinate & processor_grid,
const CartesianCommunicator & parent )
inline

◆ ~GridBase()

virtual GridBase::~GridBase ( )
virtualdefault

Member Function Documentation

◆ CheckerBoarded()

◆ CheckerBoard()

virtual int GridBase::CheckerBoard ( const Coordinate & site)
pure virtual

Implemented in GridCartesian, and GridRedBlackCartesian.

Referenced by peekSite(), and pokeSite().

◆ CheckerBoardDestination()

virtual int GridBase::CheckerBoardDestination ( int source_cb,
int shift,
int dim )
pure virtual

Implemented in GridCartesian, and GridRedBlackCartesian.

Referenced by Cshift(), and Cshift_local().

◆ CheckerBoardShift()

virtual int GridBase::CheckerBoardShift ( int source_cb,
int dim,
int shift,
int osite )
pure virtual

Implemented in GridCartesian, and GridRedBlackCartesian.

◆ CheckerBoardShiftForCB()

virtual int GridBase::CheckerBoardShiftForCB ( int source_cb,
int dim,
int shift,
int cb )
pure virtual

◆ CheckerBoardFromOindex()

virtual int GridBase::CheckerBoardFromOindex ( int Oindex)
pure virtual

◆ CheckerBoardFromOindexTable()

virtual int GridBase::CheckerBoardFromOindexTable ( int Oindex)
pure virtual

◆ oIndex()

virtual int GridBase::oIndex ( Coordinate & coor)
inlinevirtual

◆ iIndex()

virtual int GridBase::iIndex ( Coordinate & lcoor)
inlinevirtual

◆ oIndexReduced()

int GridBase::oIndexReduced ( Coordinate & ocoor)
inline

◆ oCoorFromOindex()

void GridBase::oCoorFromOindex ( Coordinate & coor,
int Oindex )
inline

◆ InOutCoorToLocalCoor()

void GridBase::InOutCoorToLocalCoor ( Coordinate & ocoor,
Coordinate & icoor,
Coordinate & lcoor )
inline

◆ iCoorFromIindex()

◆ PermuteDim()

int GridBase::PermuteDim ( int dimension)
inline

Definition at line 152 of file Cartesian_base.h.

References _simd_layout.

Referenced by Cshift_local(), and GeneralLocalStencil::GeneralLocalStencil().

◆ PermuteType()

◆ iSites()

int GridBase::iSites ( void ) const
inline

Definition at line 183 of file Cartesian_base.h.

References _isites.

Referenced by LatticeCoordinate().

◆ Nsimd()

◆ oSites()

int GridBase::oSites ( void ) const
inline

Definition at line 185 of file Cartesian_base.h.

References _osites.

Referenced by acceleratorPickCheckerboard(), acceleratorSetCheckerboard(), ag5xpbg5y_ssp(), ag5xpby_ssp(), A2Autils< FImpl >::AslashField(), axpbg5y_ssp(), axpby_norm_fast(), axpby_ssp(), axpby_ssp_pminus(), axpby_ssp_pplus(), BaryonUtils< FImpl >::BaryonGamma3pt(), basisRotate(), basisRotateJ(), batchBlockProject(), blockProject(), blockProjectFast(), blockSum(), blockZAXPY(), CoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator(), BaryonUtils< FImpl >::ContractBaryons(), BaryonUtils< FImpl >::ContractBaryonsMatrix(), A2Autils< FImpl >::ContractFourQuarkColourDiagonal(), A2Autils< FImpl >::ContractFourQuarkColourMix(), A2Autils< FImpl >::ContractWWVV(), StaggeredKernels< Impl >::DhopImproved(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DhopInternal(), StaggeredKernels< Impl >::DhopNaive(), CoarsenedMatrix< Fobj, CComplex, nbasis >::DselfInternal(), G5C(), G5R5(), GeneralLocalStencil::GeneralLocalStencil(), ImprovedStaggeredFermion5D< Impl >::ImprovedStaggeredFermion5D(), innerProduct(), MultiRHSBlockCGLinalg< Field >::InnerProductMatrix(), innerProductNorm(), LatticeCoordinate(), LatticeMatrix< ncolour, group_name >::LieAlgebraProject(), CoarsenedMatrix< Fobj, CComplex, nbasis >::M(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::M(), CayleyFermion5D< Impl >::M5D(), DomainWallEOFAFermion< Impl >::M5D(), MobiusEOFAFermion< Impl >::M5D(), DomainWallEOFAFermion< Impl >::M5Ddag(), MobiusEOFAFermion< Impl >::M5Ddag(), CoarsenedMatrix< Fobj, CComplex, nbasis >::MdagNonHermitian(), A2Autils< FImpl >::MesonField(), GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mult(), pickCheckerboard(), precisionChange(), precisionChangeFast(), precisionChangeOrig(), precisionChangeWorkspace::precisionChangeWorkspace(), ProjectSU3(), rankInnerProduct(), rankSum(), rankSumLarge(), WilsonLoops< PeriodicGimplR >::RectStaplePaddedAll(), Lattice< CoarseSiteVector >::reset(), setCheckerboard(), BaryonUtils< FImpl >::SigmaToNucleonEye(), BaryonUtils< FImpl >::SigmaToNucleonNonEye(), KappaSimilarityTransform< Matrix, Field >::sscale(), WilsonLoops< PeriodicGimplR >::StaplePaddedAll(), su2Extract(), su2Insert(), unvectorizeToLexOrdArray(), unvectorizeToRevLexOrdArray(), GaugeImplTypes< vComplex, Nc >::update_field(), vectorizeFromLexOrdArray(), vectorizeFromRevLexOrdArray(), Grid::whereWolf(), WilsonFermion< Impl >::WilsonFermion(), and BaryonUtils< FImpl >::XiToSigmaEye().

◆ lSites()

◆ gSites()

◆ Nd()

◆ LocalStarts()

const Coordinate GridBase::LocalStarts ( void )
inline

Definition at line 190 of file Cartesian_base.h.

References _lstart.

Referenced by BinaryIO::ScidacChecksum().

◆ FullDimensions()

◆ GlobalDimensions()

◆ LocalDimensions()

◆ VirtualLocalDimensions()

const Coordinate & GridBase::VirtualLocalDimensions ( void )
inline

Definition at line 194 of file Cartesian_base.h.

References _ldimensions.

◆ show_decomposition()

◆ GlobalIndexToGlobalCoor()

void GridBase::GlobalIndexToGlobalCoor ( int64_t gidx,
Coordinate & gcoor )
inline

◆ LocalIndexToLocalCoor()

void GridBase::LocalIndexToLocalCoor ( int lidx,
Coordinate & lcoor )
inline

◆ GlobalCoorToGlobalIndex()

void GridBase::GlobalCoorToGlobalIndex ( const Coordinate & gcoor,
int64_t & gidx )
inline

Definition at line 226 of file Cartesian_base.h.

References _gdimensions, CartesianCommunicator::_ndimension, and mult().

◆ GlobalCoorToProcessorCoorLocalCoor()

void GridBase::GlobalCoorToProcessorCoorLocalCoor ( Coordinate & pcoor,
Coordinate & lcoor,
const Coordinate & gcoor )
inline

◆ GlobalCoorToRankIndex()

void GridBase::GlobalCoorToRankIndex ( int & rank,
int & o_idx,
int & i_idx,
const Coordinate & gcoor )
inline

◆ RankIndexToGlobalCoor()

void GridBase::RankIndexToGlobalCoor ( int rank,
int o_idx,
int i_idx,
Coordinate & gcoor )
inline

◆ RankIndexCbToFullGlobalCoor()

void GridBase::RankIndexCbToFullGlobalCoor ( int rank,
int o_idx,
int i_idx,
int cb,
Coordinate & fcoor )
inline

Definition at line 277 of file Cartesian_base.h.

References CheckerBoarded(), and RankIndexToGlobalCoor().

◆ ProcessorCoorLocalCoorToGlobalCoor()

void GridBase::ProcessorCoorLocalCoorToGlobalCoor ( Coordinate & Pcoor,
Coordinate & Lcoor,
Coordinate & gcoor )
inline

◆ SetCommunicatorPolicy()

void CartesianCommunicator::SetCommunicatorPolicy ( CommunicatorPolicy_t policy)
inlinestaticinherited

Definition at line 51 of file Communicator_base.h.

References CommunicatorPolicy.

◆ Init()

◆ InitFromMPICommunicator()

void CartesianCommunicator::InitFromMPICommunicator ( const Coordinate & processors,
Grid_MPI_Comm communicator_base )
privateinherited

◆ ShiftedRanks()

void CartesianCommunicator::ShiftedRanks ( int dim,
int shift,
int & source,
int & dest )
inherited

◆ RankFromProcessorCoor()

int CartesianCommunicator::RankFromProcessorCoor ( Coordinate & coor)
inherited

Definition at line 86 of file Communicator_mpi3.cc.

References communicator.

Referenced by GridBase::GlobalCoorToRankIndex().

◆ ProcessorCoorFromRank()

void CartesianCommunicator::ProcessorCoorFromRank ( int rank,
Coordinate & coor )
inherited

◆ Dimensions()

int CartesianCommunicator::Dimensions ( void )
inherited

Definition at line 48 of file Communicator_base.cc.

References _ndimension.

Referenced by BinaryIO::IOobject().

◆ IsBoss()

int CartesianCommunicator::IsBoss ( void )
inherited

Definition at line 49 of file Communicator_base.cc.

References _processor.

Referenced by NerscIO::writeConfiguration(), and NerscIO::writeRNGState().

◆ BossRank()

int CartesianCommunicator::BossRank ( void )
inherited

Definition at line 50 of file Communicator_base.cc.

Referenced by pokeSite().

◆ ThisRank()

int CartesianCommunicator::ThisRank ( void )
inherited

Definition at line 51 of file Communicator_base.cc.

References _processor.

Referenced by BinaryIO::IOobject(), and pokeSite().

◆ ThisProcessorCoor()

const Coordinate & CartesianCommunicator::ThisProcessorCoor ( void )
inherited

Definition at line 52 of file Communicator_base.cc.

References _processor_coor.

Referenced by OpenQcdIO::createOpenQcdGrid(), and BinaryIO::IOobject().

◆ ShmGrid()

const Coordinate & CartesianCommunicator::ShmGrid ( void )
inlineinherited

Definition at line 103 of file Communicator_base.h.

References _shm_processors.

◆ ProcessorGrid()

const Coordinate & CartesianCommunicator::ProcessorGrid ( void )
inherited

Definition at line 53 of file Communicator_base.cc.

References _processors.

Referenced by OpenQcdIO::createOpenQcdGrid(), and BinaryIO::IOobject().

◆ ProcessorCount()

int CartesianCommunicator::ProcessorCount ( void )
inherited

Definition at line 54 of file Communicator_base.cc.

References _Nprocessors.

Referenced by BinaryIO::IOobject().

◆ RankWorld()

int CartesianCommunicator::RankWorld ( void )
staticinherited

Definition at line 838 of file Communicator_mpi3.cc.

References communicator_world.

Referenced by check_huge_pages(), and Grid_init().

◆ BroadcastWorld()

◆ BarrierWorld()

void CartesianCommunicator::BarrierWorld ( void )
staticinherited

Definition at line 843 of file Communicator_mpi3.cc.

References communicator_world, and FlightRecorder::StepLog().

Referenced by Grid_init().

◆ GlobalMax() [1/2]

void CartesianCommunicator::GlobalMax ( RealD & d)
inherited

Definition at line 314 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalMax() [2/2]

void CartesianCommunicator::GlobalMax ( RealF & f)
inherited

Definition at line 308 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSum() [1/7]

void CartesianCommunicator::GlobalSum ( RealF & f)
inherited

◆ GlobalSum() [2/7]

void CartesianCommunicator::GlobalSum ( RealD & d)
inherited

Definition at line 266 of file Communicator_mpi3.cc.

References GlobalSumP2P(), and FlightRecorder::StepLog().

◆ GlobalSum() [3/7]

void CartesianCommunicator::GlobalSum ( uint32_t & u)
inherited

Definition at line 284 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSum() [4/7]

void CartesianCommunicator::GlobalSum ( uint64_t & u)
inherited

Definition at line 289 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSum() [5/7]

void CartesianCommunicator::GlobalSum ( ComplexF & c)
inherited

Definition at line 61 of file Communicator_base.cc.

References GlobalSumP2P().

◆ GlobalSum() [6/7]

void CartesianCommunicator::GlobalSum ( ComplexD & c)
inherited

Definition at line 65 of file Communicator_base.cc.

References GlobalSumP2P().

◆ GlobalSum() [7/7]

template<class obj>
void CartesianCommunicator::GlobalSum ( obj & o)
inlineinherited

Definition at line 162 of file Communicator_base.h.

References GlobalSumVector().

◆ GlobalSumVector() [1/5]

◆ GlobalSumVector() [2/5]

void CartesianCommunicator::GlobalSumVector ( RealD * d,
int N )
inherited

Definition at line 326 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSumVector() [3/5]

void CartesianCommunicator::GlobalSumVector ( uint64_t * u,
int N )
inherited

Definition at line 294 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSumVector() [4/5]

void CartesianCommunicator::GlobalSumVector ( ComplexF * c,
int N )
inherited

Definition at line 79 of file Communicator_base.cc.

References GlobalSumVector().

◆ GlobalSumVector() [5/5]

void CartesianCommunicator::GlobalSumVector ( ComplexD * c,
int N )
inherited

Definition at line 83 of file Communicator_base.cc.

References GlobalSumVector().

◆ GlobalXOR() [1/2]

void CartesianCommunicator::GlobalXOR ( uint32_t & u)
inherited

Definition at line 299 of file Communicator_mpi3.cc.

References communicator.

Referenced by BinaryIO::IOobject().

◆ GlobalXOR() [2/2]

void CartesianCommunicator::GlobalXOR ( uint64_t & u)
inherited

Definition at line 303 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ GlobalSumP2P()

template<class obj>
void CartesianCommunicator::GlobalSumP2P ( obj & o)
inlineinherited

◆ CommsComplete()

void CartesianCommunicator::CommsComplete ( std::vector< MpiCommsRequest_t > & list)
inherited

Definition at line 358 of file Communicator_mpi3.cc.

Referenced by PaddedCell::Face_exchange(), and GlobalSumP2P().

◆ SendToRecvFromBegin()

void CartesianCommunicator::SendToRecvFromBegin ( std::vector< MpiCommsRequest_t > & list,
void * xmit,
int dest,
void * recv,
int from,
int bytes,
int dir )
inherited

Definition at line 333 of file Communicator_mpi3.cc.

References _processor, and communicator.

Referenced by PaddedCell::Face_exchange(), and GlobalSumP2P().

◆ SendToRecvFrom()

void CartesianCommunicator::SendToRecvFrom ( void * xmit,
int xmit_to_rank,
void * recv,
int recv_from_rank,
int bytes )
inherited

Definition at line 371 of file Communicator_mpi3.cc.

References _processor, acceleratorIsCommunicable(), and communicator.

Referenced by Cshift_comms(), and Cshift_comms_simd().

◆ IsOffNode()

int CartesianCommunicator::IsOffNode ( int rank)
inherited

Definition at line 407 of file Communicator_mpi3.cc.

References SharedMemory::ShmRanks.

◆ StencilSendToRecvFrom()

double CartesianCommunicator::StencilSendToRecvFrom ( void * xmit,
int xmit_to_rank,
int do_xmit,
void * recv,
int recv_from_rank,
int do_recv,
int bytes,
int dir )
inherited

◆ StencilSendToRecvFromPrepare()

double CartesianCommunicator::StencilSendToRecvFromPrepare ( std::vector< CommsRequest_t > & list,
void * xmit,
int xmit_to_rank,
int do_xmit,
void * recv,
int recv_from_rank,
int do_recv,
int xbytes,
int rbytes,
int dir )
inherited

Definition at line 417 of file Communicator_mpi3.cc.

Referenced by StencilSendToRecvFrom().

◆ StencilSendToRecvFromPollDtoH()

void CartesianCommunicator::StencilSendToRecvFromPollDtoH ( std::vector< CommsRequest_t > & list)
inherited

Definition at line 416 of file Communicator_mpi3.cc.

◆ StencilSendToRecvFromPollIRecv()

void CartesianCommunicator::StencilSendToRecvFromPollIRecv ( std::vector< CommsRequest_t > & list)
inherited

Definition at line 415 of file Communicator_mpi3.cc.

◆ StencilSendToRecvFromBegin()

double CartesianCommunicator::StencilSendToRecvFromBegin ( std::vector< CommsRequest_t > & list,
void * xmit,
void * xmit_comp,
int xmit_to_rank,
int do_xmit,
void * recv,
void * recv_comp,
int recv_from_rank,
int do_recv,
int xbytes,
int rbytes,
int dir )
inherited

◆ StencilSendToRecvFromComplete()

void CartesianCommunicator::StencilSendToRecvFromComplete ( std::vector< CommsRequest_t > & waitall,
int i )
inherited

Definition at line 487 of file Communicator_mpi3.cc.

References acceleratorCopySynchronise(), and StencilBarrier().

Referenced by StencilSendToRecvFrom().

◆ StencilBarrier()

void CartesianCommunicator::StencilBarrier ( void )
inherited

◆ Barrier()

◆ Broadcast() [1/2]

void CartesianCommunicator::Broadcast ( int root,
void * data,
int bytes )
inherited

◆ Broadcast() [2/2]

template<class obj>
void CartesianCommunicator::Broadcast ( int root,
obj & data )
inlineinherited

Definition at line 242 of file Communicator_base.h.

References Broadcast().

◆ AllToAll() [1/3]

template<class T>
void CartesianCommunicator::AllToAll ( int dim,
std::vector< T > & in,
std::vector< T > & out )
inlineinherited

Definition at line 228 of file Communicator_base.h.

References _ndimension, _processors, and AllToAll().

Referenced by AllToAll(), AllToAll(), Grid_split(), and Grid_unsplit().

◆ AllToAll() [2/3]

void CartesianCommunicator::AllToAll ( int dim,
void * in,
void * out,
uint64_t words,
uint64_t bytes )
inherited

Definition at line 859 of file Communicator_mpi3.cc.

References _ndimension, _processors, AllToAll(), and CartesianCommunicator().

◆ AllToAll() [3/3]

void CartesianCommunicator::AllToAll ( void * in,
void * out,
uint64_t words,
uint64_t bytes )
inherited

Definition at line 871 of file Communicator_mpi3.cc.

References communicator, and FlightRecorder::StepLog().

◆ SetCommunicator()

◆ ShmBarrier()

void SharedMemory::ShmBarrier ( void )
inherited

Definition at line 966 of file SharedMemoryMPI.cc.

References ShmComm.

Referenced by SharedMemoryTest().

◆ SharedMemoryTest()

void SharedMemory::SharedMemoryTest ( void )
inherited

◆ ShmBufferSelf()

void * SharedMemory::ShmBufferSelf ( void )
inherited

Definition at line 112 of file SharedMemory.cc.

References ShmCommBufs, and ShmRank.

Referenced by ShmBufferFreeAll().

◆ ShmBuffer()

void * SharedMemory::ShmBuffer ( int rank)
inherited

Definition at line 997 of file SharedMemoryMPI.cc.

References ShmCommBufs, and ShmRanks.

◆ ShmBufferTranslate()

void * SharedMemory::ShmBufferTranslate ( int rank,
void * local_p )
inherited

Definition at line 1006 of file SharedMemoryMPI.cc.

References ShmCommBufs, ShmRank, and ShmRanks.

Referenced by CartesianCommunicator::StencilSendToRecvFromBegin().

◆ ShmBufferMalloc()

void * SharedMemory::ShmBufferMalloc ( size_t bytes)
inherited

Definition at line 92 of file SharedMemory.cc.

References heap_bytes, heap_size, and heap_top.

◆ ShmBufferFreeAll()

void SharedMemory::ShmBufferFreeAll ( void )
inherited

Definition at line 108 of file SharedMemory.cc.

References heap_bytes, heap_top, and ShmBufferSelf().

Referenced by SetCommunicator().

◆ NodeCount()

int SharedMemory::NodeCount ( void )
inlineinherited

Definition at line 202 of file SharedMemory.h.

References GlobalSharedMemory::WorldNodes.

◆ RankCount()

int SharedMemory::RankCount ( void )
inlineinherited

Definition at line 203 of file SharedMemory.h.

References GlobalSharedMemory::WorldSize.

◆ SetCores()

void GridThread::SetCores ( int cr)
inlinestaticinherited

Definition at line 41 of file ThreadReduction.h.

References _cores.

Referenced by GridParseLayout().

◆ SetThreads()

void GridThread::SetThreads ( int thr)
inlinestaticinherited

Definition at line 48 of file ThreadReduction.h.

References _threads, and MIN.

Referenced by GridParseLayout().

◆ SetMaxThreads()

void GridThread::SetMaxThreads ( void )
inlinestaticinherited

Definition at line 56 of file ThreadReduction.h.

References _threads.

Referenced by GridParseLayout().

◆ GetHyperThreads()

int GridThread::GetHyperThreads ( void )
inlinestaticinherited

Definition at line 64 of file ThreadReduction.h.

References _cores, and _threads.

◆ GetCores()

int GridThread::GetCores ( void )
inlinestaticinherited

Definition at line 65 of file ThreadReduction.h.

References _cores.

◆ GetThreads()

int GridThread::GetThreads ( void )
inlinestaticinherited

Definition at line 66 of file ThreadReduction.h.

References _threads.

Referenced by Grid_init(), GridLogLayout(), sum_cpu(), and sumD_cpu().

◆ SumArraySize()

int GridThread::SumArraySize ( void )
inlinestaticinherited

Definition at line 67 of file ThreadReduction.h.

References _threads.

◆ GetWork() [1/2]

void GridThread::GetWork ( int nwork,
int me,
int & mywork,
int & myoff )
inlinestaticinherited

Definition at line 69 of file ThreadReduction.h.

References _threads, and GetWork().

Referenced by GetWork(), GetWorkBarrier(), sum_cpu(), and sumD_cpu().

◆ GetWork() [2/2]

void GridThread::GetWork ( int nwork,
int me,
int & mywork,
int & myoff,
int units )
inlinestaticinherited

Definition at line 72 of file ThreadReduction.h.

◆ GetWorkBarrier()

void GridThread::GetWorkBarrier ( int nwork,
int & me,
int & mywork,
int & myoff )
inlinestaticinherited

Definition at line 86 of file ThreadReduction.h.

References GetWork(), and ThreadBarrier().

Referenced by bcopy().

◆ ThreadBarrier()

int GridThread::ThreadBarrier ( void )
inlinestaticinherited

Definition at line 91 of file ThreadReduction.h.

Referenced by GetWorkBarrier(), and ThreadSum().

◆ ThreadSum()

template<class obj>
void GridThread::ThreadSum ( std::vector< obj > & sum_array,
obj & val,
int me )
inlinestaticinherited

Definition at line 100 of file ThreadReduction.h.

References _threads, and ThreadBarrier().

◆ bcopy()

void GridThread::bcopy ( const void * src,
void * dst,
size_t len )
inlinestaticinherited

Definition at line 108 of file ThreadReduction.h.

References bcopy(), and GetWorkBarrier().

Referenced by bcopy().

◆ Lattice

template<class object>
friend class Lattice
friend

Definition at line 48 of file Cartesian_base.h.

References Lattice.

Referenced by Lattice.

Field Documentation

◆ dummy

int GridBase::dummy

Definition at line 46 of file Cartesian_base.h.

Referenced by GridBase().

◆ _simd_layout

◆ _fdimensions

◆ _gdimensions

◆ _ldimensions

◆ _rdimensions

◆ _ostride

◆ _istride

◆ _osites

int GridBase::_osites

◆ _isites

int GridBase::_isites

◆ _fsites

int64_t GridBase::_fsites

Definition at line 73 of file Cartesian_base.h.

Referenced by GridCartesian::Init(), and GridRedBlackCartesian::Init().

◆ _gsites

int64_t GridBase::_gsites

Definition at line 74 of file Cartesian_base.h.

Referenced by GridCartesian::Init(), and GridRedBlackCartesian::Init().

◆ _slice_block

◆ _slice_stride

◆ _slice_nblock

◆ _lstart

Coordinate GridBase::_lstart

Definition at line 79 of file Cartesian_base.h.

Referenced by GridCartesian::Init(), GridRedBlackCartesian::Init(), and LocalStarts().

◆ _lend

Coordinate GridBase::_lend

Definition at line 80 of file Cartesian_base.h.

Referenced by GridCartesian::Init(), and GridRedBlackCartesian::Init().

◆ _isCheckerBoarded

◆ LocallyPeriodic

int GridBase::LocallyPeriodic

Definition at line 83 of file Cartesian_base.h.

Referenced by GridBase(), GridBase(), and GridBase().

◆ _checker_dim_mask

◆ _checker_dim

◆ CommunicatorPolicy

CartesianCommunicator::CommunicatorPolicy_t CartesianCommunicator::CommunicatorPolicy
staticinherited

Definition at line 50 of file Communicator_base.h.

Referenced by SetCommunicatorPolicy().

◆ nCommThreads

int CartesianCommunicator::nCommThreads
staticinherited

Definition at line 52 of file Communicator_base.h.

Referenced by Grid_init(), and Init().

◆ _Nprocessors

◆ _processor

◆ _ndimension

unsigned long CartesianCommunicator::_ndimension
inherited

Definition at line 59 of file Communicator_base.h.

Referenced by acceleratorPickCheckerboard(), acceleratorSetCheckerboard(), AllToAll(), AllToAll(), A2Autils< FImpl >::AslashField(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAStoGrid(), blockPick(), blockSum(), blockZAXPY(), CartesianCommunicator(), GridRedBlackCartesian::CheckerBoard(), Dimensions(), ExtractSlice(), ExtractSliceFast(), FourierAcceleratedGaugeFixer< Gimpl >::FourierAccelSteepestDescentStep(), GridBase::GlobalCoorToGlobalIndex(), GridBase::GlobalCoorToProcessorCoorLocalCoor(), GlobalSumP2P(), Grid_split(), Grid_unsplit(), GridMetaData(), MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GridtoBLAS(), GridBase::iIndex(), GridRedBlackCartesian::iIndex(), ImprovedStaggeredFermion5D< Impl >::ImprovedStaggeredFermion5D(), GridCartesian::Init(), GridRedBlackCartesian::Init(), InitFromMPICommunicator(), GridBase::InOutCoorToLocalCoor(), InsertSlice(), InsertSliceFast(), InsertSliceLocal(), localConvert(), localCopyRegion(), SpaceTimeGrid::makeFiveDimDWFGrid(), SpaceTimeGrid::makeFiveDimDWFRedBlackGrid(), SpaceTimeGrid::makeFiveDimGrid(), SpaceTimeGrid::makeFiveDimRedBlackGrid(), makeSubSliceGrid(), ScalarImplTypes< vReal >::MomentumSpacePropagator(), GridBase::Nd(), GridBase::oIndex(), GridRedBlackCartesian::oIndex(), GridBase::oIndexReduced(), GridBase::PermuteType(), ProcessorCoorFromRank(), GridBase::ProcessorCoorLocalCoorToGlobalCoor(), GridBase::RankIndexToGlobalCoor(), NerscIO::readHeader(), OpenQcdIO::readHeader(), Replicate(), RNGfillable(), RNGfillable_general(), BinaryIO::ScidacChecksum(), GridBase::show_decomposition(), sliceInnerProductVector(), sliceSum(), subdivides(), and WilsonFermion5D< Impl >::WilsonFermion5D().

◆ _shm_processors

Coordinate CartesianCommunicator::_shm_processors
inherited

Definition at line 60 of file Communicator_base.h.

Referenced by CartesianCommunicator(), CartesianCommunicator(), and ShmGrid().

◆ _processors

◆ _processor_coor

◆ communicator_world

Grid_MPI_Comm CartesianCommunicator::communicator_world
staticinherited

◆ communicator

◆ communicator_halo

std::vector<Grid_MPI_Comm> CartesianCommunicator::communicator_halo
inherited

◆ MAXLOG2RANKSPERNODE

const int SharedMemory::MAXLOG2RANKSPERNODE
staticprivateinherited

Definition at line 151 of file SharedMemory.h.

◆ heap_top

size_t SharedMemory::heap_top
privateinherited

Definition at line 153 of file SharedMemory.h.

Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().

◆ heap_bytes

size_t SharedMemory::heap_bytes
privateinherited

Definition at line 154 of file SharedMemory.h.

Referenced by ShmBufferFreeAll(), and ShmBufferMalloc().

◆ heap_size

size_t SharedMemory::heap_size
privateinherited

Definition at line 155 of file SharedMemory.h.

Referenced by SetCommunicator(), and ShmBufferMalloc().

◆ ShmComm

Grid_MPI_Comm SharedMemory::ShmComm
protectedinherited

◆ ShmRank

int SharedMemory::ShmRank
protectedinherited

◆ ShmSize

int SharedMemory::ShmSize
protectedinherited

Definition at line 168 of file SharedMemory.h.

Referenced by SetCommunicator(), and SharedMemoryTest().

◆ ShmCommBufs

std::vector<void *> SharedMemory::ShmCommBufs
protectedinherited

◆ ShmRanks

std::vector<int> SharedMemory::ShmRanks
protectedinherited

◆ _threads

int GridThread::_threads
staticinherited

◆ _hyperthreads

int GridThread::_hyperthreads
staticinherited

Definition at line 38 of file ThreadReduction.h.

◆ _cores

int GridThread::_cores
staticinherited

Definition at line 39 of file ThreadReduction.h.

Referenced by GetCores(), GetHyperThreads(), and SetCores().


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