|
queso-0.56.1
|
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived classes). More...
#include <ScalarFunctionSynchronizer.h>

Public Member Functions | |
Constructor/Destructor methods | |
| ScalarFunctionSynchronizer (const BaseScalarFunction< V, M > &inputFunction, const V &auxVec) | |
| Default constructor. More... | |
| ~ScalarFunctionSynchronizer () | |
| Destructor. More... | |
Mathematical methods | |
| const VectorSet< V, M > & | domainSet () const |
| Access to the domain set of the scalar function which will be synchronized. More... | |
Sync method | |
| double | callFunction (const V *vecValues, const V *vecDirection, V *gradVector, M *hessianMatrix, V *hessianEffect, double *extraOutput1, double *extraOutput2) const |
| Calls the scalar function which will be synchronized. More... | |
Private Attributes | |
| const BaseEnvironment & | m_env |
| const BaseScalarFunction< V, M > & | m_scalarFunction |
| const BayesianJointPdf< V, M > * | m_bayesianJointPdfPtr |
| const V & | m_auxVec |
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived classes).
This class creates a synchronization point among processes which call scalar functions. This means that all processes must reach a point in their code before they can all begin executing again.
Definition at line 49 of file ScalarFunctionSynchronizer.h.
| QUESO::ScalarFunctionSynchronizer< V, M >::ScalarFunctionSynchronizer | ( | const BaseScalarFunction< V, M > & | inputFunction, |
| const V & | auxVec | ||
| ) |
Default constructor.
Definition at line 37 of file ScalarFunctionSynchronizer.C.
| QUESO::ScalarFunctionSynchronizer< V, M >::~ScalarFunctionSynchronizer | ( | ) |
| double QUESO::ScalarFunctionSynchronizer< V, M >::callFunction | ( | const V * | vecValues, |
| const V * | vecDirection, | ||
| V * | gradVector, | ||
| M * | hessianMatrix, | ||
| V * | hessianEffect, | ||
| double * | extraOutput1, | ||
| double * | extraOutput2 | ||
| ) | const |
Calls the scalar 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 62 of file ScalarFunctionSynchronizer.C.
References queso_require_msg, RawValue_MPI_CHAR, and RawValue_MPI_DOUBLE.
| const VectorSet< V, M > & QUESO::ScalarFunctionSynchronizer< V, M >::domainSet | ( | ) | const |
Access to the domain set of the scalar function which will be synchronized.
Definition at line 55 of file ScalarFunctionSynchronizer.C.
|
private |
Definition at line 85 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 84 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 82 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 83 of file ScalarFunctionSynchronizer.h.