Dakota
Version
Explore and Predict with Confidence
|
Public Member Functions | |
Pybind11Interface (const ProblemDescDB &problem_db) | |
constructor | |
~Pybind11Interface () | |
destructor | |
void | register_pybind11_callback_fn (py::function callback) |
register a python callback function | |
void | register_pybind11_callback_fns (const std::map< String, py::function > &callbacks) |
register a collection of python callback functions | |
template<typename RetT , class O , class S > | |
RetT | copy_array_to_pybind11 (const Teuchos::SerialDenseVector< O, S > &src) const |
Public Member Functions inherited from DirectApplicInterface | |
DirectApplicInterface (const ProblemDescDB &problem_db) | |
constructor | |
~DirectApplicInterface () | |
destructor | |
void | derived_map (const Variables &vars, const ActiveSet &set, Response &response, int fn_eval_id) |
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an evaluation that is specific to a derived class. | |
int | synchronous_local_analysis (int analysis_id) |
const StringArray & | analysis_drivers () const |
retrieve the analysis drivers specification for application interfaces | |
Public Member Functions inherited from ApplicationInterface | |
ApplicationInterface (const ProblemDescDB &problem_db) | |
constructor | |
~ApplicationInterface () | |
destructor | |
Public Member Functions inherited from Interface | |
Interface () | |
default constructor More... | |
Interface (ProblemDescDB &problem_db) | |
standard constructor for envelope More... | |
Interface (const Interface &interface_in) | |
copy constructor More... | |
virtual | ~Interface () |
destructor | |
Interface | operator= (const Interface &interface_in) |
assignment operator | |
virtual int | minimum_points (bool constraint_flag) const |
returns the minimum number of points required to build a particular ApproximationInterface (used by DataFitSurrModels). | |
virtual int | recommended_points (bool constraint_flag) const |
returns the recommended number of points required to build a particular ApproximationInterface (used by DataFitSurrModels). | |
virtual void | active_model_key (const Pecos::ActiveKey &key) |
activate an approximation state based on its key | |
virtual void | clear_model_keys () |
reset initial state by removing all model keys for an approximation | |
virtual void | approximation_function_indices (const SizetSet &approx_fn_indices) |
set the (currently active) approximation function index set | |
virtual void | update_approximation (const Variables &vars, const IntResponsePair &response_pr) |
updates the anchor point for an approximation | |
virtual void | update_approximation (const RealMatrix &samples, const IntResponseMap &resp_map) |
updates the current data points for an approximation | |
virtual void | update_approximation (const VariablesArray &vars_array, const IntResponseMap &resp_map) |
updates the current data points for an approximation | |
virtual void | append_approximation (const Variables &vars, const IntResponsePair &response_pr) |
appends a single point to an existing approximation | |
virtual void | append_approximation (const RealMatrix &samples, const IntResponseMap &resp_map) |
appends multiple points to an existing approximation | |
virtual void | append_approximation (const VariablesArray &vars_array, const IntResponseMap &resp_map) |
appends multiple points to an existing approximation | |
virtual void | append_approximation (const IntVariablesMap &vars_map, const IntResponseMap &resp_map) |
appends multiple points to an existing approximation | |
virtual void | replace_approximation (const IntResponsePair &response_pr) |
replace the response for a single point within an existing approximation | |
virtual void | replace_approximation (const IntResponseMap &resp_map) |
replace responses for multiple points within an existing approximation | |
virtual void | track_evaluation_ids (bool track) |
assigns trackEvalIds to activate tracking of evaluation ids within surrogate data, enabling id-based lookups for data replacement | |
virtual void | build_approximation (const RealVector &c_l_bnds, const RealVector &c_u_bnds, const IntVector &di_l_bnds, const IntVector &di_u_bnds, const RealVector &dr_l_bnds, const RealVector &dr_u_bnds) |
builds the approximation | |
virtual void | export_approximation () |
export the approximation to disk | |
virtual void | rebuild_approximation (const BitArray &rebuild_fns) |
rebuilds the approximation after a data update | |
virtual void | pop_approximation (bool save_data) |
removes data from last append from the approximation | |
virtual void | push_approximation () |
retrieves approximation data from a previous state (negates pop) | |
virtual bool | push_available () |
queries the approximation for the ability to retrieve a previous increment | |
virtual void | finalize_approximation () |
finalizes the approximation by applying all trial increments | |
virtual void | combine_approximation () |
combine the current approximation with previously stored data sets | |
virtual void | combined_to_active (bool clear_combined=true) |
promote the combined approximation to the currently active one | |
virtual void | clear_inactive () |
clear inactive approximation data | |
virtual bool | advancement_available () |
query for available advancements in approximation resolution controls | |
virtual bool | formulation_updated () const |
query for change in approximation formulation | |
virtual void | formulation_updated (bool update) |
assign an updated status for approximation formulation to force rebuild | |
virtual Real2DArray | cv_diagnostics (const StringArray &metric_types, unsigned num_folds) |
approximation cross-validation quality metrics per response function | |
virtual RealArray | challenge_diagnostics (const String &metric_type, const RealMatrix &challenge_pts) |
approximation challenge data metrics per response function | |
virtual void | clear_current_active_data () |
clears current data from an approximation interface | |
virtual void | clear_active_data () |
clears all data from an approximation interface | |
virtual SharedApproxData & | shared_approximation () |
retrieve the SharedApproxData within an ApproximationInterface | |
virtual std::vector< Approximation > & | approximations () |
retrieve the Approximations within an ApproximationInterface | |
virtual const Pecos::SurrogateData & | approximation_data (size_t fn_index) |
retrieve the approximation data from a particular Approximation within an ApproximationInterface | |
virtual const RealVectorArray & | approximation_coefficients (bool normalized=false) |
retrieve the approximation coefficients from each Approximation within an ApproximationInterface | |
virtual void | approximation_coefficients (const RealVectorArray &approx_coeffs, bool normalized=false) |
set the approximation coefficients within each Approximation within an ApproximationInterface | |
virtual const RealVector & | approximation_variances (const Variables &vars) |
retrieve the approximation variances from each Approximation within an ApproximationInterface | |
virtual const String2DArray & | analysis_components () const |
retrieve the analysis components, if available | |
virtual void | discrepancy_emulation_mode (short mode) |
set discrepancy emulation mode used for approximating response differences | |
virtual void | file_cleanup () const |
clean up any interface parameter/response files when aborting | |
IntResponseMap & | response_map () |
return rawResponseMap | |
void | cache_unmatched_response (int raw_id) |
migrate an unmatched response record from rawResponseMap to cachedResponseMap | |
void | cache_unmatched_responses () |
migrate all remaining response records from rawResponseMap to cachedResponseMap | |
void | assign_rep (std::shared_ptr< Interface > interface_rep) |
assign letter or replace existing letter with a new one More... | |
void | assign_rep (Interface *interface_rep, bool ref_count_incr=false) |
assign letter or replace existing letter with a new one DEPRECATED, but left for library mode clients to migrate: transfers memory ownership to the contained shared_ptr; ref_count_incr is ignored More... | |
unsigned short | interface_type () const |
returns the interface type | |
const String & | interface_id () const |
returns the interface identifier | |
int | evaluation_id () const |
returns the value of the (total) evaluation id counter for the interface | |
void | fine_grained_evaluation_counters (size_t num_fns) |
set fineGrainEvalCounters to true and initialize counters if needed | |
void | init_evaluation_counters (size_t num_fns) |
initialize fine grained evaluation counters, sizing if needed | |
void | set_evaluation_reference () |
set evaluation count reference points for the interface | |
void | print_evaluation_summary (std::ostream &s, bool minimal_header, bool relative_count) const |
print an evaluation summary for the interface | |
bool | multi_proc_eval () const |
returns a flag signaling the use of multiprocessor evaluation partitions | |
bool | iterator_eval_dedicated_master () const |
returns a flag signaling the use of a dedicated master processor at the iterator-evaluation scheduling level | |
bool | is_null () const |
function to check interfaceRep (does this envelope contain a letter?) | |
std::shared_ptr< Interface > | interface_rep () |
function to return the letter | |
void | eval_tag_prefix (const String &eval_id_str, bool append_iface_id=true) |
set the evaluation tag prefix (does not recurse) More... | |
Protected Member Functions | |
void | init_communicators_checks (int max_eval_concurrency) |
void | set_communicators_checks (int max_eval_concurrency) |
void | initialize_driver (const String &ac_name) |
virtual int | derived_map_ac (const String &ac_name) |
execute an analysis code portion of a direct evaluation invocation More... | |
virtual void | derived_map_asynch (const ParamResponsePair &pair) |
Python supports batch only, not true asynch (this is no-op) More... | |
virtual void | wait_local_evaluations (PRPQueue &prp_queue) |
Python supports batch only, not true asynch (this does the work) | |
virtual void | test_local_evaluations (PRPQueue &prp_queue) |
Python supports batch only, not true asynch, so this blocks. | |
int | pybind11_run (const String &ac_name) |
direct interface to Pybind11 via API | |
template<typename RetT , class ArrayT , typename T > | |
RetT | copy_array_to_pybind11 (const ArrayT &src) const |
copy Dakota arrays to pybind11 lists via std::vector<> copy | |
template<typename RetT , typename OrdinalType , typename ScalarType > | |
RetT | copy_array_to_pybind11 (const Teuchos::SerialDenseVector< OrdinalType, ScalarType > &src) const |
specialized copy Dakota arrays to pybind11 lists via std::vector<> copy | |
py::dict | params_to_dict () const |
Translate Dakota parameters into returned Python dictionary in numpy or array format. | |
template<typename T > | |
py::dict | pack_kwargs () const |
generalized Python dictionary packing to support either lists or numpy arrays | |
void | unpack_python_response (const ShortArray &asv, const size_t num_derivs, const pybind11::dict &py_response, RealVector &fn_values, RealMatrix &gradients, RealSymMatrixArray &hessians, RealArray &metadata) |
populate values, gradients, Hessians from Python to Dakota | |
bool | expect_derivative (const ShortArray &asv, const short deriv_type) const |
return true if the passed asv value is requested for any function | |
Protected Member Functions inherited from DirectApplicInterface | |
virtual int | derived_map_if (const Dakota::String &if_name) |
execute the input filter portion of a direct evaluation invocation | |
virtual int | derived_map_ac (const Dakota::String &ac_name) |
execute an analysis code portion of a direct evaluation invocation More... | |
virtual int | derived_map_of (const Dakota::String &of_name) |
execute the output filter portion of a direct evaluation invocation | |
virtual void | set_local_data (const Variables &vars, const ActiveSet &set) |
convenience function for local test simulators which sets per-evaluation variable and active set attributes; derived classes reimplementing this likely need to invoke the base class API | |
virtual void | set_local_data (const Response &response) |
convenience function for local test simulators which sets per-evaluation response attributes; derived classes reimplementing this likely need to invoke the base class API | |
virtual void | set_local_data (const Variables &vars, const ActiveSet &set, const Response &response) |
convenience function for local test simulators which sets per-evaluation variable, active set, and response attributes; derived classes reimplementing this likely need to invoke the base class API | |
void | overlay_response (Response &response) |
convenience function for local test simulators which overlays response contributions from multiple analyses using MPI_Reduce | |
Protected Member Functions inherited from ApplicationInterface | |
void | init_communicators (const IntArray &message_lengths, int max_eval_concurrency) |
allocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor analyses within an evaluation. | |
void | set_communicators (const IntArray &message_lengths, int max_eval_concurrency) |
set the local parallel partition data for an interface (the partitions are already allocated in ParallelLibrary). | |
void | init_serial () |
int | asynch_local_evaluation_concurrency () const |
return asynchLocalEvalConcurrency | |
short | interface_synchronization () const |
return interfaceSynchronization | |
bool | evaluation_cache () const |
return evalCacheFlag | |
bool | restart_file () const |
return evalCacheFlag | |
String | final_eval_id_tag (int fn_eval_id) |
form and return the final evaluation ID tag, appending iface ID if needed | |
void | map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch_flag=false) |
Provides a "mapping" of variables to responses using a simulation. Protected due to Interface letter-envelope idiom. More... | |
void | manage_failure (const Variables &vars, const ActiveSet &set, Response &response, int failed_eval_id) |
manages a simulation failure using abort/retry/recover/continuation | |
const IntResponseMap & | synchronize () |
executes a blocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns all jobs More... | |
const IntResponseMap & | synchronize_nowait () |
executes a nonblocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns a partial set of completed jobs More... | |
void | serve_evaluations () |
run on evaluation servers to serve the iterator master More... | |
void | stop_evaluation_servers () |
used by the iterator master to terminate evaluation servers More... | |
bool | check_multiprocessor_analysis (bool warn) |
checks on multiprocessor analysis configuration | |
bool | check_asynchronous (bool warn, int max_eval_concurrency) |
checks on asynchronous configuration (for direct interfaces) | |
bool | check_multiprocessor_asynchronous (bool warn, int max_eval_concurrency) |
checks on asynchronous settings for multiprocessor partitions | |
String | final_batch_id_tag () |
form and return the final batch ID tag | |
void | master_dynamic_schedule_analyses () |
blocking dynamic schedule of all analyses within a function evaluation using message passing More... | |
void | serve_analyses_synch () |
serve the master analysis scheduler and manage one synchronous analysis job at a time More... | |
Protected Member Functions inherited from Interface | |
Interface (BaseConstructor, const ProblemDescDB &problem_db) | |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More... | |
Interface (NoDBBaseConstructor, size_t num_fns, short output_level) | |
constructor initializes the base class part of letter classes (NoDBBaseConstructor used for on the fly instantiations without a DB) | |
void | init_algebraic_mappings (const Variables &vars, const Response &response) |
Define algebraicACVIndices, algebraicACVIds, and algebraicFnIndices. | |
void | asv_mapping (const ActiveSet &total_set, ActiveSet &algebraic_set, ActiveSet &core_set) |
define the evaluation requirements for algebraic_mappings() (algebraic_set) and the core Application/Approximation mapping (core_set) from the total Interface evaluation requirements (total_set) | |
void | asv_mapping (const ActiveSet &algebraic_set, ActiveSet &total_set) |
map an algebraic ASV back to original total ordering for asynch recovery | |
void | algebraic_mappings (const Variables &vars, const ActiveSet &algebraic_set, Response &algebraic_response) |
evaluate the algebraic_response using the AMPL solver library and the data extracted from the algebraic_mappings file | |
void | response_mapping (const Response &algebraic_response, const Response &core_response, Response &total_response) |
combine the response from algebraic_mappings() with the response from derived_map() to create the total response More... | |
Protected Attributes | |
bool | userNumpyFlag |
whether the user requested numpy data structures in the input file | |
bool | ownPython |
true if this class created the interpreter instance | |
py::function | py11CallBack |
callback function for analysis driver | |
bool | py11Active |
Protected Attributes inherited from DirectApplicInterface | |
String | iFilterName |
name of the direct function input filter | |
String | oFilterName |
name of the direct function output filter | |
driver_t | iFilterType |
enum type of the direct function input filter | |
driver_t | oFilterType |
enum type of the direct function output filter | |
bool | gradFlag |
signals use of fnGrads in direct simulator functions | |
bool | hessFlag |
signals use of fnHessians in direct simulator functions | |
size_t | numFns |
number of functions in fnVals | |
size_t | numVars |
total number of continuous and discrete variables | |
size_t | numACV |
total number of continuous variables | |
size_t | numADIV |
total number of discete integer variables | |
size_t | numADRV |
total number of discete real variables | |
size_t | numADSV |
total number of discete string variables | |
size_t | numDerivVars |
number of active derivative variables | |
unsigned short | localDataView |
bit-wise record of which local data views are active; see enum local_data_t | |
RealVector | xC |
continuous variables used within direct simulator fns | |
IntVector | xDI |
discrete int variables used within direct simulator fns | |
RealVector | xDR |
discrete real variables used within direct simulator fns | |
StringMultiArray | xDS |
discrete string variables used within direct simulator fns | |
StringMultiArray | xCLabels |
continuous variable labels | |
StringMultiArray | xDILabels |
discrete integer variable labels | |
StringMultiArray | xDRLabels |
discrete real variable labels | |
StringMultiArray | xDSLabels |
discrete string variable labels | |
StringArray | xAllLabels |
all variable labels in input spec order | |
RealArray | metaData |
real-valued metadata | |
StringArray | metaDataLabels |
labels for optional metadata | |
std::map< String, var_t > | varTypeMap |
map from variable label to enum | |
std::map< String, driver_t > | driverTypeMap |
map from driver name to enum | |
std::map< var_t, Real > | xCM |
map from var_t enum to continuous value | |
std::map< var_t, int > | xDIM |
map from var_t enum to discrete int value | |
std::map< var_t, Real > | xDRM |
map from var_t enum to discrete real value | |
std::map< var_t, String > | xDSM |
map from var_t enum to discrete string val | |
std::vector< var_t > | varTypeDVV |
var_t enumerations corresponding to DVV components | |
std::vector< var_t > | xCMLabels |
var_t enumerations corresponding to continuous variable labels | |
std::vector< var_t > | xDIMLabels |
var_t enumerations corresponding to discrete integer variable labels | |
std::vector< var_t > | xDRMLabels |
var_t enumerations corresponding to discrete real variable labels | |
std::vector< var_t > | xDSMLabels |
var_t enumerations corresponding to discrete string variable labels | |
ShortArray | directFnASV |
class scope active set vector | |
SizetArray | directFnDVV |
class scope derivative variables vector | |
RealVector | fnVals |
response fn values within direct simulator fns | |
RealMatrix | fnGrads |
response fn gradients w/i direct simulator fns | |
RealSymMatrixArray | fnHessians |
response fn Hessians within direct fns | |
StringArray | analysisDrivers |
the set of analyses within each function evaluation (from the analysis_drivers interface specification) | |
std::vector< driver_t > | analysisDriverTypes |
conversion of analysisDrivers to driver_t | |
size_t | analysisDriverIndex |
the index of the active analysis driver within analysisDrivers | |
Protected Attributes inherited from ApplicationInterface | |
ParallelLibrary & | parallelLib |
reference to the ParallelLibrary object used to manage MPI partitions for the concurrent evaluations and concurrent analyses parallelism levels | |
bool | batchEval |
flag indicating usage of batch evaluation facilities, where a set of jobs is launched and scheduled as a unit rather than individually | |
bool | asynchFlag |
flag indicating usage of asynchronous evaluation | |
int | batchIdCntr |
maintain a count of the batches | |
bool | suppressOutput |
flag for suppressing output on slave processors | |
int | evalCommSize |
size of evalComm | |
int | evalCommRank |
processor rank within evalComm | |
int | evalServerId |
evaluation server identifier | |
bool | eaDedMasterFlag |
flag for dedicated master partitioning at ea level | |
int | analysisCommSize |
size of analysisComm | |
int | analysisCommRank |
processor rank within analysisComm | |
int | analysisServerId |
analysis server identifier | |
int | numAnalysisServers |
current number of analysis servers | |
bool | multiProcAnalysisFlag |
flag for multiprocessor analysis partitions | |
bool | asynchLocalAnalysisFlag |
flag for asynchronous local parallelism of analyses | |
int | asynchLocalAnalysisConcurrency |
limits the number of concurrent analyses in asynchronous local scheduling and specifies hybrid concurrency when message passing | |
int | asynchLocalEvalConcSpec |
user specification for asynchronous local evaluation concurrency | |
int | asynchLocalAnalysisConcSpec |
user specification for asynchronous local analysis concurrency | |
int | numAnalysisDrivers |
the number of analysis drivers used for each function evaluation (from the analysis_drivers interface specification) | |
IntSet | completionSet |
the set of completed fn_eval_id's populated by wait_local_evaluations() and test_local_evaluations() | |
String | failureMessage |
base message for managing failed evals; will be followed with more details in screen output | |
Protected Attributes inherited from Interface | |
unsigned short | interfaceType |
the interface type: enum for system, fork, direct, grid, or approximation | |
String | interfaceId |
the interface specification identifier string from the DAKOTA input file | |
bool | algebraicMappings |
flag for the presence of algebraic_mappings that define the subset of an Interface's parameter to response mapping that is explicit and algebraic. | |
bool | coreMappings |
flag for the presence of non-algebraic mappings that define the core of an Interface's parameter to response mapping (using analysis_drivers for ApplicationInterface or functionSurfaces for ApproximationInterface). | |
short | outputLevel |
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT | |
int | currEvalId |
identifier for the current evaluation, which may differ from the evaluation counters in the case of evaluation scheduling; used on iterator master as well as server processors. Currently, this is set prior to all invocations of derived_map() for all processors. | |
bool | fineGrainEvalCounters |
controls use of fn val/grad/hess counters for detailed evaluation report | |
int | evalIdCntr |
total interface evaluation counter | |
int | newEvalIdCntr |
new (non-duplicate) interface evaluation counter | |
int | evalIdRefPt |
iteration reference point for evalIdCntr | |
int | newEvalIdRefPt |
iteration reference point for newEvalIdCntr | |
IntArray | fnValCounter |
number of value evaluations by resp fn | |
IntArray | fnGradCounter |
number of gradient evaluations by resp fn | |
IntArray | fnHessCounter |
number of Hessian evaluations by resp fn | |
IntArray | newFnValCounter |
number of new value evaluations by resp fn | |
IntArray | newFnGradCounter |
number of new gradient evaluations by resp fn | |
IntArray | newFnHessCounter |
number of new Hessian evaluations by resp fn | |
IntArray | fnValRefPt |
iteration reference point for fnValCounter | |
IntArray | fnGradRefPt |
iteration reference point for fnGradCounter | |
IntArray | fnHessRefPt |
iteration reference point for fnHessCounter | |
IntArray | newFnValRefPt |
iteration reference point for newFnValCounter | |
IntArray | newFnGradRefPt |
iteration reference point for newFnGradCounter | |
IntArray | newFnHessRefPt |
iteration reference point for newFnHessCounter | |
IntResponseMap | rawResponseMap |
Set of responses returned by either a blocking or nonblocking schedule. More... | |
IntResponseMap | cachedResponseMap |
Set of available asynchronous responses completed within a blocking or nonblocking scheduler that cannot be processed in a higher level context and need to be stored for later. | |
StringArray | fnLabels |
response function descriptors (used in print_evaluation_summary() and derived direct interface classes); initialized in map() functions due to potential updates after construction | |
bool | multiProcEvalFlag |
flag for multiprocessor evaluation partitions (evalComm) | |
bool | ieDedMasterFlag |
flag for dedicated master partitioning at the iterator level | |
String | evalTagPrefix |
set of period-delimited evaluation ID tags to use in evaluation tagging | |
bool | appendIfaceId |
whether to append the interface ID to the prefix during map (default true) | |
String2DArray | analysisComponents |
Analysis components for interface types that support them. | |
Specialization of DirectApplicInterface to link to Python analysis drivers.
|
inlineprotectedvirtual |
Process init issues as warnings since some contexts (e.g., EnsembleSurrModel) initialize more configurations than will be used and DirectApplicInterface allows override by derived plug-ins.
Reimplemented from DirectApplicInterface.
|
inlineprotectedvirtual |
Process run-time issues as hard errors.
Reimplemented from DirectApplicInterface.
|
protectedvirtual |
execute an analysis code portion of a direct evaluation invocation
Python specialization of derived analysis components.
References ApplicationInterface::analysisServerId, DirectApplicInterface::directFnASV, DirectApplicInterface::directFnDVV, DirectApplicInterface::fnGrads, DirectApplicInterface::fnHessians, DirectApplicInterface::fnVals, DirectApplicInterface::metaData, Pybind11Interface::params_to_dict(), Pybind11Interface::py11CallBack, and Pybind11Interface::unpack_python_response().
|
protectedvirtual |
Python supports batch only, not true asynch (this is no-op)
This is a no-op as all work takes place in wait/test_local_evaluations
Reimplemented from DirectApplicInterface.