$extrastylesheet
Dakota
Version 6.2
|
Base class for meta-iterators. More...
Protected Member Functions | |
MetaIterator (ProblemDescDB &problem_db) | |
standard constructor | |
MetaIterator (ProblemDescDB &problem_db, Model &model) | |
alternate constructor | |
~MetaIterator () | |
destructor | |
void | post_run (std::ostream &s) |
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way | |
bool | new_model (const String &method_ptr, const String &model_ptr) |
identify presence of a new model specification identified by pointer, necessitating a new instantiation | |
void | check_model (const String &method_ptr, const String &model_ptr) |
check that any model identified by pointer has the same id as the passed iteratedModel | |
void | allocate_by_pointer (const String &method_ptr, Iterator &the_iterator, Model &the_model) |
initialize the_iterator and the_model based on method_ptr | |
void | allocate_by_name (const String &method_string, const String &model_ptr, Iterator &the_iterator, Model &the_model) |
initialize the_iterator based on method_string | |
std::pair< int, int > | estimate_by_pointer (const String &method_ptr, Iterator &the_iterator, Model &the_model) |
estimate minimum and maximum processors per iterator needed for init_iterator_parallelism(); instantiates the_iterator and the_model as needed, but on minimal processor ranks (is later augmented by allocate_by_pointer()) | |
std::pair< int, int > | estimate_by_name (const String &method_string, const String &model_ptr, Iterator &the_iterator, Model &the_model) |
estimate minimum and maximum processors per iterator needed for init_iterator_parallelism(); instantiates the_iterator and the_model as needed, but on minimal processor ranks (is later augmented by allocate_by_name()) | |
Protected Attributes | |
IteratorScheduler | iterSched |
scheduler for concurrent execution of Iterators | |
int | maxIteratorConcurrency |
maximum number of concurrent sub-iterator executions |
Base class for meta-iterators.
This base class shares code for concurrent and hybrid meta-iterators, where the former supports multi-start and Pareto set iteration and the latter supports sequential, embedded, and collaborative hybrids.
void post_run | ( | std::ostream & | s | ) | [protected, virtual] |
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parent's post_run(), typically _after_ performing its own implementation steps.
Reimplemented from Iterator.
References MetaIterator::iterSched, IteratorScheduler::lead_rank(), and Iterator::print_results().