RVL::MPISerialFunctionObjectRedn< DataType, ValType > Class Template Reference

MPI-enabled serial reduction of data container. More...

#include <mpiserialfo.hh>

Inheritance diagram for RVL::MPISerialFunctionObjectRedn< DataType, ValType >:

RVL::FunctionObjectScalarRedn< ValType > RVL::LocalConstEval< DataType > RVL::MPISynchRoot RVL::FunctionObjectConstEval RVL::ScalarRedn< ValType > RVL::Writeable List of all members.

Public Member Functions

 MPISerialFunctionObjectRedn (FunctionObjectScalarRedn< ValType > &_f, int _root=0)
 MPISerialFunctionObjectRedn (MPISerialFunctionObjectRedn< DataType, ValType > const &f)
 ~MPISerialFunctionObjectRedn ()
void operator() (vector< LocalDataContainer< DataType > const * > &sources)
void synch ()
void setValue ()
 implement this reinitialization function by using the default value from the FOSR data member
void set ()
 implement "blind" reinitialization from parent class
string getName () const

Detailed Description

template<typename DataType, typename ValType>
class RVL::MPISerialFunctionObjectRedn< DataType, ValType >

MPI-enabled serial reduction of data container.

Simplest parallel evaluation - not parallel at all! This implementation deals only with the world comm, and evaluates a standard FOR on rk=0. Initialization via set() on ALL PROCESSES. Broadcasts result to other processes via synch(). Thus all invocations must call set() before eval(), then synch(), to correctly compute reduction results and place on all processes. Constructed to be a pass-through outside of MPI environment. Concrete class, confined to LDCs: depends on being able to cast input to LocalConstEval, and to MPISynch.

Definition at line 93 of file mpiserialfo.hh.


Constructor & Destructor Documentation

template<typename DataType, typename ValType>
RVL::MPISerialFunctionObjectRedn< DataType, ValType >::MPISerialFunctionObjectRedn ( FunctionObjectScalarRedn< ValType > &  _f,
int  _root = 0 
)

Definition at line 114 of file mpiserialfo.hh.

template<typename DataType, typename ValType>
RVL::MPISerialFunctionObjectRedn< DataType, ValType >::MPISerialFunctionObjectRedn ( MPISerialFunctionObjectRedn< DataType, ValType > const &  f  ) 

Definition at line 138 of file mpiserialfo.hh.

template<typename DataType, typename ValType>
RVL::MPISerialFunctionObjectRedn< DataType, ValType >::~MPISerialFunctionObjectRedn (  ) 

Definition at line 149 of file mpiserialfo.hh.


Member Function Documentation

template<typename DataType, typename ValType>
void RVL::MPISerialFunctionObjectRedn< DataType, ValType >::operator() ( vector< LocalDataContainer< DataType > const * > &  sources  )  [virtual]

Implements RVL::LocalConstEval< DataType >.

Definition at line 151 of file mpiserialfo.hh.

template<typename DataType, typename ValType>
void RVL::MPISerialFunctionObjectRedn< DataType, ValType >::synch (  )  [virtual]

Implements RVL::MPISynchRoot.

Definition at line 171 of file mpiserialfo.hh.

template<typename DataType, typename ValType>
void RVL::MPISerialFunctionObjectRedn< DataType, ValType >::setValue (  )  [virtual]

implement this reinitialization function by using the default value from the FOSR data member

Implements RVL::ScalarRedn< ValType >.

Definition at line 195 of file mpiserialfo.hh.

Referenced by RVL::MPISerialFunctionObjectRedn< Scalar, Scalar >::set().

template<typename DataType, typename ValType>
void RVL::MPISerialFunctionObjectRedn< DataType, ValType >::set (  )  [virtual]

implement "blind" reinitialization from parent class

Implements RVL::MPISynchRoot.

Definition at line 201 of file mpiserialfo.hh.

template<typename DataType, typename ValType>
string RVL::MPISerialFunctionObjectRedn< DataType, ValType >::getName (  )  const [virtual]

Implements RVL::FunctionObjectConstEval.

Definition at line 205 of file mpiserialfo.hh.


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for MPIRVL by  doxygen 1.4.7