#include <patchlink.h>
Inherits LibGeoDecomp::PatchLink::Link, and LibGeoDecomp::PatchProvider< GRID_TYPE >.
Public Member Functions | |
Provider (const Region< DIM > ®ion, int source, int tag, const MPI_Datatype &cellMPIDatatype, MPI_Comm communicator=MPI_COMM_WORLD) | |
virtual void | cleanup () |
virtual void | charge (const std::size_t next, const std::size_t last, const std::size_t newStride) |
virtual void | get (GRID_TYPE *grid, const Region< DIM > &patchableRegion, const std::size_t nanoStep, const bool remove=true) |
void | recv (const std::size_t nanoStep) |
Private Member Functions | |
void | recvFirstPart (APITraits::TrueType) |
void | recvFirstPart (APITraits::FalseType) |
void | recvSecondPart (APITraits::TrueType) |
void | recvSecondPart (APITraits::FalseType) |
Private Attributes | |
int | source |
int | dataSize |
MPI_Datatype | cellMPIDatatype |
bool | transmissionInFlight |
LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::Provider | ( | const Region< DIM > & | region, | |
int | source, | |||
int | tag, | |||
const MPI_Datatype & | cellMPIDatatype, | |||
MPI_Comm | communicator = MPI_COMM_WORLD | |||
) | [inline] |
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::charge | ( | const std::size_t | next, | |
const std::size_t | last, | |||
const std::size_t | newStride | |||
) | [inline, virtual] |
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::cleanup | ( | ) | [inline, virtual] |
virtual void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::get | ( | GRID_TYPE * | grid, | |
const Region< DIM > & | patchableRegion, | |||
const std::size_t | nanoStep, | |||
const bool | remove = true | |||
) | [inline, virtual] |
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recv | ( | const std::size_t | nanoStep | ) | [inline] |
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvFirstPart | ( | APITraits::TrueType | ) | [inline, private] |
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvFirstPart | ( | APITraits::FalseType | ) | [inline, private] |
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvSecondPart | ( | APITraits::FalseType | ) | [inline, private] |
void LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::recvSecondPart | ( | APITraits::TrueType | ) | [inline, private] |
References LibGeoDecomp::PatchLink< GRID_TYPE >::Link::buffer, LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::cellMPIDatatype, LibGeoDecomp::PatchLink< GRID_TYPE >::Link::mpiLayer, LibGeoDecomp::MPILayer::recv(), LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::source, and LibGeoDecomp::PatchLink< GRID_TYPE >::Link::tag.
Referenced by LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::get().
MPI_Datatype LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::cellMPIDatatype [private] |
int LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::dataSize [private] |
int LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::source [private] |
bool LibGeoDecomp::PatchLink< GRID_TYPE >::Provider::transmissionInFlight [private] |