queso-0.57.1
|
A templated class for synchronizing the calls of vector-valued functions. More...
#include <VectorFunctionSynchronizer.h>
Public Member Functions | |
Constructor/Destructor methods | |
VectorFunctionSynchronizer (const BaseVectorFunction< P_V, P_M, Q_V, Q_M > &inputFunction, const P_V &auxPVec, const Q_V &auxQVec) | |
Default constructor. More... | |
~VectorFunctionSynchronizer () | |
Destructor. More... | |
Mathematical methods | |
const VectorSet< P_V, P_M > & | domainSet () const |
Access to the domain set of the vector-valued function which will be synchronized. More... | |
Sync method | |
void | callFunction (const P_V *vecValues, const P_V *vecDirection, Q_V *imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects) const |
Calls the vector-valued function which will be synchronized. More... | |
Private Attributes | |
const BaseEnvironment & | m_env |
const BaseVectorFunction< P_V, P_M, Q_V, Q_M > & | m_vectorFunction |
const P_V & | m_auxPVec |
const Q_V & | m_auxQVec |
A templated class for synchronizing the calls of vector-valued functions.
This class creates a synchronization point among processes which call vector-valued functions. This means that all processes must reach a point in their code before they can all begin executing again.
Definition at line 46 of file VectorFunctionSynchronizer.h.
QUESO::VectorFunctionSynchronizer< P_V, P_M, Q_V, Q_M >::VectorFunctionSynchronizer | ( | const BaseVectorFunction< P_V, P_M, Q_V, Q_M > & | inputFunction, |
const P_V & | auxPVec, | ||
const Q_V & | auxQVec | ||
) |
Default constructor.
Definition at line 33 of file VectorFunctionSynchronizer.C.
QUESO::VectorFunctionSynchronizer< P_V, P_M, Q_V, Q_M >::~VectorFunctionSynchronizer | ( | ) |
void QUESO::VectorFunctionSynchronizer< P_V, P_M, Q_V, Q_M >::callFunction | ( | const P_V * | vecValues, |
const P_V * | vecDirection, | ||
Q_V * | imageVector, | ||
DistArray< P_V * > * | gradVectors, | ||
DistArray< P_M * > * | hessianMatrices, | ||
DistArray< P_V * > * | hessianEffects | ||
) | const |
Calls the vector-valued function which will be synchronized.
This procedure forms a barrier, and no processes in the communicator can pass the barrier until all of them call the function.
Definition at line 61 of file VectorFunctionSynchronizer.C.
References QUESO::MpiComm::Barrier(), QUESO::queso_require_equal_to_msg, and QUESO::BaseEnvironment::subComm().
const VectorSet< P_V, P_M > & QUESO::VectorFunctionSynchronizer< P_V, P_M, Q_V, Q_M >::domainSet | ( | ) | const |
Access to the domain set of the vector-valued function which will be synchronized.
Definition at line 53 of file VectorFunctionSynchronizer.C.
|
private |
Definition at line 80 of file VectorFunctionSynchronizer.h.
|
private |
Definition at line 81 of file VectorFunctionSynchronizer.h.
|
private |
Definition at line 78 of file VectorFunctionSynchronizer.h.
|
private |
Definition at line 79 of file VectorFunctionSynchronizer.h.