escript::MPIScalarReducer Class Reference

`#include <MPIScalarReducer.h>`

Inheritance diagram for escript::MPIScalarReducer:

## Public Member Functions

| MPIScalarReducer (MPI_Op op)
| ~MPIScalarReducer ()
void | setDomain (Domain_ptr d)
bool | valueCompatible (boost::python::object v)
bool | reduceLocalValue (boost::python::object v, std::string &errstring)
void | reset ()
bool | checkRemoteCompatibility (JMPI &mpiInfo, 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)
double | getDouble ()
virtual boost::python::object | getPyObj ()
bool | groupSend (MPI_Comm &com, bool imsending)
bool | canClash ()
bool | groupReduce (MPI_Comm &com, char mystate)
void | copyValueFrom (boost::shared_ptr< AbstractReducer > &src)
void | newRunJobs ()
Public Member Functions inherited from escript::AbstractReducer
virtual | ~AbstractReducer ()
bool | hasValue ()
virtual void | clear ()

## Private Attributes

double | value
MPI_Op | reduceop
double | identity
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

## MPIScalarReducer()

MPIScalarReducer::MPIScalarReducer | ( | MPI_Op | op | ) |

References identity, MPI_MAX, MPI_MIN, MPI_OP_NULL, MPI_SUM, and escript::AbstractReducer::valueadded.

## ~MPIScalarReducer()

escript::MPIScalarReducer::~MPIScalarReducer | ( |  | ) |

inline

## Member Function Documentation

## canClash()

bool MPIScalarReducer::canClash | ( |  | ) |

virtual

Reimplemented from escript::AbstractReducer.

References MPI_OP_NULL, and reduceop.

## checkRemoteCompatibility()

bool MPIScalarReducer::checkRemoteCompatibility | ( | JMPI & | mpiInfo,
|  | std::string & | errstring
| ) |  |

virtual

Implements escript::AbstractReducer.

## copyValueFrom()

void MPIScalarReducer::copyValueFrom | ( | boost::shared_ptr< AbstractReducer > & | src | ) |

virtual

Implements escript::AbstractReducer.

References value, and escript::AbstractReducer::valueadded.

## description()

std::string MPIScalarReducer::description | ( |  | ) |

virtual

Implements escript::AbstractReducer.

References MPI_MAX, MPI_MIN, MPI_OP_NULL, MPI_SUM, and reduceop.

## getCompatibilityInfo()

void MPIScalarReducer::getCompatibilityInfo | ( | std::vector< unsigned > & | params | ) |

## getDouble()

double MPIScalarReducer::getDouble | ( |  | ) |

virtual

Reimplemented from escript::AbstractReducer.

References value.

## getPyObj()

boost::python::object MPIScalarReducer::getPyObj | ( |  | ) |

virtual

Implements escript::AbstractReducer.

References value.

## groupReduce()

bool escript::MPIScalarReducer::groupReduce | ( | MPI_Comm & | com,
|  | char | mystate
| ) |  |

## groupSend()

bool escript::MPIScalarReducer::groupSend | ( | MPI_Comm & | com,
|  | bool | imsending
| ) |  |

## newRunJobs()

void MPIScalarReducer::newRunJobs | ( |  | ) |

virtual

Reimplemented from escript::AbstractReducer.

References had_an_export_this_round.

## recvFrom()

bool MPIScalarReducer::recvFrom | ( | int | localid,
|  | int | source,
|  | JMPI & | mpiinfo
| ) |  |

virtual

Implements escript::AbstractReducer.

References MPI_DOUBLE, escript::AbstractReducer::PARAMTAG, and value.

## reduceLocalValue()

bool MPIScalarReducer::reduceLocalValue | ( | boost::python::object | v,
|  | std::string & | errstring
| ) |  |

virtual

Implements escript::AbstractReducer.

References had_an_export_this_round, MPI_OP_NULL, reduceop, reset(), value, and escript::AbstractReducer::valueadded.

## reduceRemoteValues()

bool MPIScalarReducer::reduceRemoteValues | ( | MPI_Comm & | com | ) |

virtual

Implements escript::AbstractReducer.

References MPI_DOUBLE, MPI_OP_NULL, reduceop, reset(), and value.

## reset()

void MPIScalarReducer::reset | ( |  | ) |

virtual

Implements escript::AbstractReducer.

References value, and escript::AbstractReducer::valueadded.

Referenced by reduceLocalValue(), and reduceRemoteValues().

## sendTo()

bool MPIScalarReducer::sendTo | ( | int | localid,
|  | int | target,
|  | JMPI & | mpiinfo
| ) |  |

virtual

Implements escript::AbstractReducer.

References MPI_DOUBLE, escript::AbstractReducer::PARAMTAG, and value.

## setDomain()

void MPIScalarReducer::setDomain | ( | escript::Domain_ptr | d | ) |

virtual

Reimplemented from escript::AbstractReducer.

## valueCompatible()

bool MPIScalarReducer::valueCompatible | ( | boost::python::object | v | ) |

virtual

Implements escript::AbstractReducer.

## Member Data Documentation

## had_an_export_this_round

bool escript::MPIScalarReducer::had_an_export_this_round

private

Referenced by newRunJobs(), and reduceLocalValue().

## identity

double escript::MPIScalarReducer::identity

private

Referenced by MPIScalarReducer().

## reduceop

MPI_Op escript::MPIScalarReducer::reduceop

private

Referenced by canClash(), description(), reduceLocalValue(), and reduceRemoteValues().

## value

double escript::MPIScalarReducer::value

private

Referenced by copyValueFrom(), getDouble(), getPyObj(), recvFrom(), reduceLocalValue(), reduceRemoteValues(), reset(), and sendTo().

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

- MPIScalarReducer.h
- MPIScalarReducer.cpp