Public Member Functions | |
| APPSEvalMgr (Model &model) | |
| Evaluation manager class for APPSPACK. | |
| ~APPSEvalMgr () | |
| destructor | |
| bool | isWaiting () const |
| tells APPS whether or not there is a processor available to perform a function evaluation | |
| bool | spawn (const APPSPACK::Vector &x_in, int tag_in) |
| performs a function evaluation at APPS-provided x_in | |
| int | recv (int &tag_out, APPSPACK::Vector &f_out, string &msg_out) |
| returns a function value to APPS | |
| void | print () const |
| currently does nothing but is needed to complete the interface | |
| void | set_asynch_flag (const bool dakotaAsynchFlag) |
| publishes whether or not to do asynchronous evaluations | |
| void | set_blocking_synch (const bool blockingSynchFlag) |
| publishes whether or not APPS is operating synchronously | |
| void | set_total_workers (const int numDakotaWorkers) |
| publishes the number of processors available for function evaluations | |
| void | set_constraint_map (std::vector< int > constraintMapIndices, std::vector< double > constraintMapMultipliers, std::vector< double > constraintMapOffsets) |
| publishes constraint transformation | |
Private Attributes | |
| Model & | iteratedModel |
| reference to the APPSOptimizer's model passed in the constructor | |
| bool | modelAsynchFlag |
| flag for asynchronous function evaluations | |
| bool | blockingSynch |
| flag for APPS synchronous behavior | |
| int | numWorkersUsed |
| number of processors actively performing function evaluations | |
| int | numWorkersTotal |
| total number of processors available for performing function evaluations | |
| std::vector< int > | constrMapIndices |
| map from Dakota constraint number to APPS constraint number | |
| std::vector< double > | constrMapMultipliers |
| multipliers for constraint transformations | |
| std::vector< double > | constrMapOffsets |
| offsets for constraint transformations | |
| RealVector | xTrial |
| trial iterate | |
| std::map< int, int > | tagList |
| map of DAKOTA eval id to APPS eval id (for asynchronous evaluations) | |
|
std::map< int, std::vector< double > > | functionList |
| map of APPS eval id to responses (for synchronous evaluations) | |
| IntResponseMap | dakotaResponseMap |
| map of DAKOTA responses returned by synchronize_nowait() | |
The APPSEvalMgr class is derived from APPSPACK's Executor class. It implements the methods of that class in such away that allows DAKOTA to manage the computation of responses instead of APPS. Iterate and response values are passed between Dakota and APPSPACK via this interface.
| APPSEvalMgr | ( | Model & | model | ) |
Evaluation manager class for APPSPACK.
The APPSEvalMgr class is derived from APPSPACK's Executor class. It implements the methods of that class in such away that allows DAKOTA to manage the computation of responses instead of APPS. Iterate and response values are passed between Dakota and APPSPACK via this interface.
| bool isWaiting | ( | ) | const |
tells APPS whether or not there is a processor available to perform a function evaluation
Check to see if all processors available for function evaluations are being used. If not, tell APPS that one is available.
| bool spawn | ( | const APPSPACK::Vector & | apps_xtrial, | |
| int | apps_tag | |||
| ) |
performs a function evaluation at APPS-provided x_in
Convert APPSPACK vector of variables to DAKOTA vector of variables and perform function evaluation asynchronously or not as specified in the DAKOTA input deck. If evaluation is asynchronous, map the dakota id to the APPS tag. If evaluation is synchronous, map the responses to the APPS tag.
| int recv | ( | int & | apps_tag, | |
| APPSPACK::Vector & | apps_f, | |||
| string & | apps_msg | |||
| ) |
returns a function value to APPS
Retrieve a set of reponse values, convert to APPS data structures, and return them to APPS. APPS tags are tied to corresponding responses using the appropriate (i.e., asynchronous or synchronous) map.
1.5.1