#include <updategroup.h>
Public Types | |
typedef Stepper< CELL_TYPE > ::Topology | Topology |
typedef APITraits::SelectSoA < CELL_TYPE >::Value | SupportsSoA |
typedef GridTypeSelector < CELL_TYPE, Topology, true, SupportsSoA >::Value | GridType |
typedef Stepper< CELL_TYPE > ::PatchType | PatchType |
typedef Stepper< CELL_TYPE > ::PatchProviderPtr | PatchProviderPtr |
typedef Stepper< CELL_TYPE > ::PatchAccepterPtr | PatchAccepterPtr |
typedef boost::shared_ptr < typename PatchLink< GridType > ::Link > | PatchLinkPtr |
typedef PartitionManager < Topology > | PartitionManagerType |
typedef PartitionManagerType::RegionVecMap | RegionVecMap |
typedef Stepper< CELL_TYPE > ::PatchAccepterVec | PatchAccepterVec |
typedef Stepper< CELL_TYPE > ::PatchProviderVec | PatchProviderVec |
Public Member Functions | |
template<typename STEPPER > | |
UpdateGroup (boost::shared_ptr< Partition< DIM > > partition, const CoordBox< DIM > &box, const unsigned &ghostZoneWidth, boost::shared_ptr< Initializer< CELL_TYPE > > initializer, STEPPER *stepperType, PatchAccepterVec patchAcceptersGhost=PatchAccepterVec(), PatchAccepterVec patchAcceptersInner=PatchAccepterVec(), PatchProviderVec patchProvidersGhost=PatchProviderVec(), PatchProviderVec patchProvidersInner=PatchProviderVec(), MPI_Comm communicator=MPI_COMM_WORLD) | |
virtual | ~UpdateGroup () |
const Chronometer & | statistics () const |
void | addPatchProvider (const PatchProviderPtr &patchProvider, const PatchType &patchType) |
void | addPatchAccepter (const PatchAccepterPtr &patchAccepter, const PatchType &patchType) |
void | update (int nanoSteps) |
const GridType & | grid () const |
virtual std::pair< int, int > | currentStep () const |
const std::vector< std::size_t > & | getWeights () const |
double | computeTimeInner () const |
double | computeTimeGhost () const |
double | patchAcceptersTime () const |
double | patchProvidersTime () const |
Static Public Attributes | |
static const int | DIM = Topology::DIM |
Private Attributes | |
boost::shared_ptr< Stepper < CELL_TYPE > > | stepper |
boost::shared_ptr < PartitionManagerType > | partitionManager |
std::vector< PatchLinkPtr > | patchLinks |
unsigned | ghostZoneWidth |
boost::shared_ptr< Initializer < CELL_TYPE > > | initializer |
MPILayer | mpiLayer |
unsigned | rank |
Friends | |
class | HiParSimulatorTest |
class | UpdateGroupPrototypeTest |
class | UpdateGroupTest |
typedef GridTypeSelector<CELL_TYPE, Topology, true, SupportsSoA>::Value LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::GridType |
typedef PartitionManager<Topology> LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PartitionManagerType |
typedef Stepper<CELL_TYPE>::PatchAccepterPtr LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchAccepterPtr |
typedef Stepper<CELL_TYPE>::PatchAccepterVec LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchAccepterVec |
typedef boost::shared_ptr<typename PatchLink<GridType>::Link> LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchLinkPtr |
typedef Stepper<CELL_TYPE>::PatchProviderPtr LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchProviderPtr |
typedef Stepper<CELL_TYPE>::PatchProviderVec LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchProviderVec |
typedef Stepper<CELL_TYPE>::PatchType LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::PatchType |
typedef PartitionManagerType::RegionVecMap LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::RegionVecMap |
typedef APITraits::SelectSoA<CELL_TYPE>::Value LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::SupportsSoA |
typedef Stepper<CELL_TYPE>::Topology LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::Topology |
LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::UpdateGroup | ( | boost::shared_ptr< Partition< DIM > > | partition, | |
const CoordBox< DIM > & | box, | |||
const unsigned & | ghostZoneWidth, | |||
boost::shared_ptr< Initializer< CELL_TYPE > > | initializer, | |||
STEPPER * | stepperType, | |||
PatchAccepterVec | patchAcceptersGhost = PatchAccepterVec() , |
|||
PatchAccepterVec | patchAcceptersInner = PatchAccepterVec() , |
|||
PatchProviderVec | patchProvidersGhost = PatchProviderVec() , |
|||
PatchProviderVec | patchProvidersInner = PatchProviderVec() , |
|||
MPI_Comm | communicator = MPI_COMM_WORLD | |||
) | [inline] |
References LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::addPatchProvider(), LibGeoDecomp::MPILayer::allGather(), LibGeoDecomp::MPILayer::communicator(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::initializer, LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::mpiLayer, LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::partitionManager, LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchLinks, LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::rank, LibGeoDecomp::MPILayer::size(), and LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::stepper.
virtual LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::~UpdateGroup | ( | ) | [inline, virtual] |
void LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::addPatchAccepter | ( | const PatchAccepterPtr & | patchAccepter, | |
const PatchType & | patchType | |||
) | [inline] |
void LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::addPatchProvider | ( | const PatchProviderPtr & | patchProvider, | |
const PatchType & | patchType | |||
) | [inline] |
double LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::computeTimeGhost | ( | ) | const [inline] |
double LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::computeTimeInner | ( | ) | const [inline] |
virtual std::pair<int, int> LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::currentStep | ( | ) | const [inline, virtual] |
const std::vector<std::size_t>& LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::getWeights | ( | ) | const [inline] |
const GridType& LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::grid | ( | ) | const [inline] |
double LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchAcceptersTime | ( | ) | const [inline] |
double LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchProvidersTime | ( | ) | const [inline] |
const Chronometer& LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::statistics | ( | ) | const [inline] |
void LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::update | ( | int | nanoSteps | ) | [inline] |
friend class HiParSimulatorTest [friend] |
friend class UpdateGroupPrototypeTest [friend] |
friend class UpdateGroupTest [friend] |
const int LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::DIM = Topology::DIM [static] |
unsigned LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::ghostZoneWidth [private] |
boost::shared_ptr<Initializer<CELL_TYPE> > LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::initializer [private] |
MPILayer LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::mpiLayer [private] |
boost::shared_ptr<PartitionManagerType> LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::partitionManager [private] |
std::vector<PatchLinkPtr> LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchLinks [private] |
unsigned LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::rank [private] |
boost::shared_ptr<Stepper<CELL_TYPE> > LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::stepper [private] |
Referenced by LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::addPatchAccepter(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::addPatchProvider(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::computeTimeGhost(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::computeTimeInner(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::currentStep(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::grid(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchAcceptersTime(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::patchProvidersTime(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::statistics(), LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::update(), and LibGeoDecomp::HiParSimulator::UpdateGroup< CELL_TYPE >::UpdateGroup().