The ParallelMemoryWriter is the MemoryWriters's cousin which is compatible with a DistributedSimulator. More...
#include <parallelmemorywriter.h>
Inherits Clonable< ParallelWriter< CELL_TYPE >, ParallelMemoryWriter< CELL_TYPE > >.
Public Types | |
typedef APITraits::SelectTopology < CELL_TYPE >::Value | Topology |
typedef DisplacedGrid < CELL_TYPE, Topology > | GridType |
typedef ParallelWriter < CELL_TYPE >::GridType | WriterGridType |
typedef std::map< unsigned, GridType > | GridMap |
Public Member Functions | |
ParallelMemoryWriter (int period=1, MPI_Comm communicator=MPI_COMM_WORLD) | |
virtual void | stepFinished (const WriterGridType &grid, const Region< DIM > &validRegion, const Coord< DIM > &globalDimensions, unsigned step, WriterEvent event, std::size_t rank, bool lastCall) |
void | sendRecvGrid (int sender, int receiver, const GridType &grid, const Region< DIM > &validRegion, int step) |
GridType & | getGrid (int i) |
std::map< unsigned, GridType > | getGrids () |
Static Public Attributes | |
static const int | DIM = Topology::DIM |
Private Attributes | |
std::map< unsigned, GridType > | grids |
MPILayer | mpiLayer |
The ParallelMemoryWriter is the MemoryWriters's cousin which is compatible with a DistributedSimulator.
Useful for debugging, nothing else.
typedef std::map<unsigned, GridType> LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::GridMap |
typedef DisplacedGrid<CELL_TYPE, Topology> LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::GridType |
Reimplemented from LibGeoDecomp::ParallelWriter< CELL_TYPE >.
typedef APITraits::SelectTopology<CELL_TYPE>::Value LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::Topology |
Reimplemented from LibGeoDecomp::ParallelWriter< CELL_TYPE >.
typedef ParallelWriter<CELL_TYPE>::GridType LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::WriterGridType |
LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::ParallelMemoryWriter | ( | int | period = 1 , |
|
MPI_Comm | communicator = MPI_COMM_WORLD | |||
) | [inline, explicit] |
GridType& LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::getGrid | ( | int | i | ) | [inline] |
std::map<unsigned, GridType> LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::getGrids | ( | ) | [inline] |
void LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::sendRecvGrid | ( | int | sender, | |
int | receiver, | |||
const GridType & | grid, | |||
const Region< DIM > & | validRegion, | |||
int | step | |||
) | [inline] |
References LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::grids, LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::mpiLayer, LibGeoDecomp::MPILayer::PARALLEL_MEMORY_WRITER, LibGeoDecomp::MPILayer::rank(), LibGeoDecomp::MPILayer::recvRegion(), LibGeoDecomp::MPILayer::recvUnregisteredRegion(), LibGeoDecomp::MPILayer::sendRegion(), and LibGeoDecomp::MPILayer::sendUnregisteredRegion().
Referenced by LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::stepFinished().
virtual void LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::stepFinished | ( | const WriterGridType & | grid, | |
const Region< DIM > & | validRegion, | |||
const Coord< DIM > & | globalDimensions, | |||
unsigned | step, | |||
WriterEvent | event, | |||
std::size_t | rank, | |||
bool | lastCall | |||
) | [inline, virtual] |
References LibGeoDecomp::CoordBox< DIM >::begin(), LibGeoDecomp::GridBase< CELL, DIMENSIONS >::boundingBox(), LibGeoDecomp::CoordBox< DIM >::end(), LibGeoDecomp::GridBase< CELL, DIMENSIONS >::get(), LibGeoDecomp::GridBase< CELL, DIMENSIONS >::getEdge(), LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::grids, LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::mpiLayer, LibGeoDecomp::ParallelWriter< CELL_TYPE >::period, LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::sendRecvGrid(), LibGeoDecomp::MPILayer::size(), LibGeoDecomp::MPILayer::waitAll(), and LibGeoDecomp::WRITER_STEP_FINISHED.
const int LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::DIM = Topology::DIM [static] |
std::map<unsigned, GridType> LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::grids [private] |
MPILayer LibGeoDecomp::ParallelMemoryWriter< CELL_TYPE >::mpiLayer [private] |