escript Revision_
|
#include <MPIDataReducer.h>
Public Member Functions | |
MPIDataReducer (MPI_Op op) | |
~MPIDataReducer () | |
void | setDomain (escript::Domain_ptr d) |
bool | valueCompatible (boost::python::object v) |
bool | reduceLocalValue (boost::python::object v, std::string &errstring) |
void | reset () |
bool | checkRemoteCompatibility (JMPI &mpi_info, std::string &errstring) |
void | getCompatibilityInfo (std::vector< unsigned > ¶ms) |
bool | reduceRemoteValues (MPI_Comm &com) |
std::string | description () |
bool | recvFrom (int localid, int source, JMPI &mpiinfo) |
bool | sendTo (int localid, int target, JMPI &mpiinfo) |
virtual boost::python::object | getPyObj () |
bool | groupSend (MPI_Comm &com, bool imsending) |
bool | canClash () |
bool | groupReduce (MPI_Comm &com, char mystate) |
void | newRunJobs () |
void | copyValueFrom (boost::shared_ptr< AbstractReducer > &src) |
![]() | |
virtual | ~AbstractReducer () |
virtual bool | valueCompatible (boost::python::object v)=0 |
virtual bool | reduceLocalValue (boost::python::object v, std::string &errstring)=0 |
virtual void | reset ()=0 |
virtual std::string | description ()=0 |
virtual bool | checkRemoteCompatibility (JMPI &mpi_info, std::string &errstring)=0 |
virtual void | setDomain (Domain_ptr dom) |
virtual bool | reduceRemoteValues (MPI_Comm &comm)=0 |
bool | hasValue () |
virtual bool | canClash () |
virtual bool | recvFrom (int localid, int source, JMPI &mpiinfo)=0 |
virtual bool | sendTo (int localid, int target, JMPI &mpiinfo)=0 |
virtual double | getDouble () |
virtual boost::python::object | getPyObj ()=0 |
virtual void | newRunJobs () |
virtual void | clear () |
virtual void | copyValueFrom (boost::shared_ptr< AbstractReducer > &src)=0 |
Private Attributes | |
escript::Data | value |
escript::const_Domain_ptr | dom |
MPI_Op | reduceop |
bool | had_an_export_this_round |
Additional Inherited Members | |
![]() | |
bool | valueadded |
bool | had_an_export_this_round |
![]() | |
static const int | PARAMTAG =120567 |
escript::MPIDataReducer::MPIDataReducer | ( | MPI_Op | op | ) |
References MPI_OP_NULL, MPI_SUM, and escript::AbstractReducer::valueadded.
|
inline |
|
virtual |
Reimplemented from escript::AbstractReducer.
References MPI_OP_NULL, and reduceop.
|
virtual |
Implements escript::AbstractReducer.
References getCompatibilityInfo().
|
virtual |
Implements escript::AbstractReducer.
References escript::Data::copy(), escript::Data::isEmpty(), value, and escript::AbstractReducer::valueadded.
|
virtual |
Implements escript::AbstractReducer.
References MPI_OP_NULL, and reduceop.
void escript::MPIDataReducer::getCompatibilityInfo | ( | std::vector< unsigned > & | params | ) |
References escript::Data::getDataPointShape(), escript::Data::getFunctionSpace(), escript::Data::getNumberOfTaggedValues(), escript::FunctionSpace::getTypeCode(), escript::Data::isComplex(), escript::Data::isConstant(), escript::Data::isExpanded(), escript::Data::isTagged(), value, and escript::AbstractReducer::valueadded.
Referenced by checkRemoteCompatibility(), groupSend(), and sendTo().
|
virtual |
Implements escript::AbstractReducer.
References value.
bool escript::MPIDataReducer::groupReduce | ( | MPI_Comm & | com, |
char | mystate | ||
) |
bool escript::MPIDataReducer::groupSend | ( | MPI_Comm & | com, |
bool | imsending | ||
) |
References escript::Data::complicate(), dom, getCompatibilityInfo(), escript::Data::getDataRO(), escript::Data::getExpandedVectorReference(), escript::Data::getLength(), escript::Data::isComplex(), escript::Data::isLazy(), MPI_DOUBLE, escript::DataTypes::noValues(), escript::Data::resolve(), escript::Data::setTaggedValueFromCPP(), escript::Data::tag(), value, and escript::AbstractReducer::valueadded.
|
virtual |
Reimplemented from escript::AbstractReducer.
References had_an_export_this_round.
|
virtual |
Implements escript::AbstractReducer.
References dom, escript::DataTypes::noValues(), escript::AbstractReducer::PARAMTAG, escript::Data::setTaggedValueFromCPP(), escript::Data::tag(), and value.
|
virtual |
|
virtual |
|
virtual |
Implements escript::AbstractReducer.
References value, and escript::AbstractReducer::valueadded.
Referenced by reduceLocalValue(), and reduceRemoteValues().
|
virtual |
Implements escript::AbstractReducer.
References getCompatibilityInfo(), escript::Data::getDataRO(), escript::Data::getLength(), escript::Data::isComplex(), escript::Data::isLazy(), MPI_DOUBLE, escript::AbstractReducer::PARAMTAG, escript::Data::resolve(), value, and escript::AbstractReducer::valueadded.
|
virtual |
Reimplemented from escript::AbstractReducer.
References dom.
|
virtual |
Implements escript::AbstractReducer.
References dom, and escript::Data::getDomain().
|
private |
Referenced by groupSend(), recvFrom(), reduceLocalValue(), setDomain(), and valueCompatible().
|
private |
Referenced by newRunJobs(), and reduceLocalValue().
|
private |
Referenced by canClash(), description(), reduceLocalValue(), and reduceRemoteValues().
|
private |
Referenced by copyValueFrom(), getCompatibilityInfo(), getPyObj(), groupSend(), recvFrom(), reduceLocalValue(), reduceRemoteValues(), reset(), and sendTo().