|
queso-0.53.0
|
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_require_equal_to_msg, queso_require_msg, RawValue_MPI_CHAR, and RawValue_MPI_DOUBLE.
| 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.