escript  Revision_
Public Member Functions | Private Attributes | List of all members
escript::MPIDataReducer Class Reference

#include <MPIDataReducer.h>

Inheritance diagram for escript::MPIDataReducer:
escript::AbstractReducer

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 > &params)
 
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)
 
- Public Member Functions inherited from escript::AbstractReducer
virtual ~AbstractReducer ()
 
bool hasValue ()
 
virtual double getDouble ()
 
virtual void clear ()
 

Private Attributes

escript::Data value
 
escript::const_Domain_ptr dom
 
MPI_Op reduceop
 
bool had_an_export_this_round
 

Additional Inherited Members

- Protected Attributes inherited from escript::AbstractReducer
bool valueadded
 
bool had_an_export_this_round
 
- Static Protected Attributes inherited from escript::AbstractReducer
static const int PARAMTAG =120567
 

Constructor & Destructor Documentation

◆ MPIDataReducer()

escript::MPIDataReducer::MPIDataReducer ( MPI_Op  op)

◆ ~MPIDataReducer()

escript::MPIDataReducer::~MPIDataReducer ( )
inline

Member Function Documentation

◆ canClash()

bool escript::MPIDataReducer::canClash ( )
virtual

Reimplemented from escript::AbstractReducer.

References MPI_OP_NULL, and reduceop.

Referenced by ~MPIDataReducer().

◆ checkRemoteCompatibility()

bool escript::MPIDataReducer::checkRemoteCompatibility ( JMPI mpi_info,
std::string &  errstring 
)
virtual

Implements escript::AbstractReducer.

References getCompatibilityInfo().

Referenced by ~MPIDataReducer().

◆ copyValueFrom()

void escript::MPIDataReducer::copyValueFrom ( boost::shared_ptr< AbstractReducer > &  src)
virtual

◆ description()

std::string escript::MPIDataReducer::description ( )
virtual

Implements escript::AbstractReducer.

References MPI_OP_NULL, and reduceop.

Referenced by ~MPIDataReducer().

◆ getCompatibilityInfo()

void escript::MPIDataReducer::getCompatibilityInfo ( std::vector< unsigned > &  params)

◆ getPyObj()

boost::python::object escript::MPIDataReducer::getPyObj ( )
virtual

Implements escript::AbstractReducer.

References value.

Referenced by ~MPIDataReducer().

◆ groupReduce()

bool escript::MPIDataReducer::groupReduce ( MPI_Comm com,
char  mystate 
)

Referenced by ~MPIDataReducer().

◆ groupSend()

bool escript::MPIDataReducer::groupSend ( MPI_Comm com,
bool  imsending 
)

◆ newRunJobs()

void escript::MPIDataReducer::newRunJobs ( )
virtual

Reimplemented from escript::AbstractReducer.

References had_an_export_this_round.

Referenced by ~MPIDataReducer().

◆ recvFrom()

bool escript::MPIDataReducer::recvFrom ( int  localid,
int  source,
JMPI mpiinfo 
)
virtual

◆ reduceLocalValue()

bool escript::MPIDataReducer::reduceLocalValue ( boost::python::object  v,
std::string &  errstring 
)
virtual

◆ reduceRemoteValues()

bool escript::MPIDataReducer::reduceRemoteValues ( MPI_Comm com)
virtual

◆ reset()

void escript::MPIDataReducer::reset ( )
virtual

◆ sendTo()

bool escript::MPIDataReducer::sendTo ( int  localid,
int  target,
JMPI mpiinfo 
)
virtual

◆ setDomain()

void escript::MPIDataReducer::setDomain ( escript::Domain_ptr  d)
virtual

Reimplemented from escript::AbstractReducer.

References dom.

Referenced by ~MPIDataReducer().

◆ valueCompatible()

bool escript::MPIDataReducer::valueCompatible ( boost::python::object  v)
virtual

Implements escript::AbstractReducer.

References dom, and escript::Data::getDomain().

Referenced by ~MPIDataReducer().

Member Data Documentation

◆ dom

escript::const_Domain_ptr escript::MPIDataReducer::dom
private

◆ had_an_export_this_round

bool escript::MPIDataReducer::had_an_export_this_round
private

Referenced by newRunJobs(), and reduceLocalValue().

◆ reduceop

MPI_Op escript::MPIDataReducer::reduceop
private

◆ value

escript::Data escript::MPIDataReducer::value
private

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