Public Types | Public Member Functions | Protected Attributes

LibGeoDecomp::PatchLink< GRID_TYPE >::Link Class Reference

#include <patchlink.h>

Inherited by LibGeoDecomp::PatchLink< GRID_TYPE >::Accepter, and LibGeoDecomp::PatchLink< GRID_TYPE >::Provider.

Collaboration diagram for LibGeoDecomp::PatchLink< GRID_TYPE >::Link:
Collaboration graph
[legend]

List of all members.

Public Types

typedef GRID_TYPE::CellType CellType

Public Member Functions

 Link (const Region< DIM > &region, int tag, MPI_Comm communicator=MPI_COMM_WORLD)
 MPI matches messages by communicator, rank and tag.
virtual ~Link ()
virtual void cleanup ()
 Should be called prior to destruction to allow implementations to perform any cleanup actions (e.g.
virtual void charge (std::size_t next, std::size_t last, std::size_t newStride)
void wait ()
void cancel ()

Protected Attributes

std::size_t lastNanoStep
long stride
MPILayer mpiLayer
Region< DIMregion
BufferType buffer
int tag

template<class GRID_TYPE>
class LibGeoDecomp::PatchLink< GRID_TYPE >::Link


Member Typedef Documentation

template<class GRID_TYPE >
typedef GRID_TYPE::CellType LibGeoDecomp::PatchLink< GRID_TYPE >::Link::CellType

Constructor & Destructor Documentation

template<class GRID_TYPE >
LibGeoDecomp::PatchLink< GRID_TYPE >::Link::Link ( const Region< DIM > &  region,
int  tag,
MPI_Comm  communicator = MPI_COMM_WORLD 
) [inline]

MPI matches messages by communicator, rank and tag.

To avoid collisions if more than two patchlinks per node-pair are present, the tag parameter needs to be unique (for this pair).

template<class GRID_TYPE >
virtual LibGeoDecomp::PatchLink< GRID_TYPE >::Link::~Link (  )  [inline, virtual]

Member Function Documentation

template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Link::cancel (  )  [inline]
template<class GRID_TYPE >
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Link::charge ( std::size_t  next,
std::size_t  last,
std::size_t  newStride 
) [inline, virtual]
template<class GRID_TYPE >
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Link::cleanup (  )  [inline, virtual]

Should be called prior to destruction to allow implementations to perform any cleanup actions (e.g.

to post any receives to pending transmissions).

template<class GRID_TYPE >
void LibGeoDecomp::PatchLink< GRID_TYPE >::Link::wait (  )  [inline]

Member Data Documentation

template<class GRID_TYPE >
BufferType LibGeoDecomp::PatchLink< GRID_TYPE >::Link::buffer [protected]
template<class GRID_TYPE >
std::size_t LibGeoDecomp::PatchLink< GRID_TYPE >::Link::lastNanoStep [protected]
template<class GRID_TYPE >
MPILayer LibGeoDecomp::PatchLink< GRID_TYPE >::Link::mpiLayer [protected]
template<class GRID_TYPE >
Region<DIM> LibGeoDecomp::PatchLink< GRID_TYPE >::Link::region [protected]
template<class GRID_TYPE >
long LibGeoDecomp::PatchLink< GRID_TYPE >::Link::stride [protected]
template<class GRID_TYPE >
int LibGeoDecomp::PatchLink< GRID_TYPE >::Link::tag [protected]

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