Dakota
Version 6.19
Explore and Predict with Confidence
|
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel configuration. More...
Public Member Functions | |
ParallelConfiguration () | |
default constructor | |
ParallelConfiguration (const ParallelConfiguration &pl) | |
copy constructor | |
~ParallelConfiguration () | |
destructor | |
ParallelConfiguration & | operator= (const ParallelConfiguration &pl) |
assignment operator | |
const ParallelLevel & | w_parallel_level () const |
return the ParallelLevel corresponding to miPLIters.front() | |
const ParallelLevel & | mi_parallel_level (size_t index=_NPOS) const |
return the ParallelLevel corresponding to miPLIters[index] More... | |
const ParallelLevel & | ie_parallel_level () const |
return the ParallelLevel corresponding to iePLIter | |
const ParallelLevel & | ea_parallel_level () const |
return the ParallelLevel corresponding to eaPLIter | |
bool | w_parallel_level_defined () const |
test for definition of world parallel level | |
bool | mi_parallel_level_defined (size_t index=_NPOS) const |
test for definition of meta-iterator-iterator parallel level | |
bool | ie_parallel_level_defined () const |
test for definition of iterator-evaluation parallel level | |
bool | ea_parallel_level_defined () const |
test for definition of evaluation-analysis parallel level | |
ParLevLIter | w_parallel_level_iterator () const |
return miPLIters.front() | |
ParLevLIter | mi_parallel_level_iterator (size_t index=_NPOS) const |
return miPLIters[index] More... | |
ParLevLIter | ie_parallel_level_iterator () const |
return iePLIter | |
ParLevLIter | ea_parallel_level_iterator () const |
return eaPLIter | |
size_t | mi_parallel_level_index (ParLevLIter pl_iter) const |
return the index within miPLIters corresponding to pl_iter | |
size_t | mi_parallel_level_last_index () const |
return the index of the last entry in miPLIters | |
Private Member Functions | |
void | assign (const ParallelConfiguration &pl) |
assign the attributes of the incoming pl to this object | |
Private Attributes | |
short | numParallelLevels |
number of parallel levels | |
std::vector< ParLevLIter > | miPLIters |
list iterator for world level followed by any concurrent iterator partitions (there may be multiple per parallel configuration instance) | |
ParLevLIter | iePLIter |
list iterator identifying the iterator-evaluation parallelLevel (there can only be one) | |
ParLevLIter | eaPLIter |
list iterator identifying the evaluation-analysis parallelLevel (there can only be one) | |
ParLevLIter | endPLIter |
snapshot of the end of ParallelLibrary::parallelLevels; used for detecting when a component of the parallel configuration has been initialized | |
Friends | |
class | ParallelLibrary |
the ParallelLibrary class has special access priveleges in order to streamline implementation | |
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel configuration.
Rather than containing the multilevel parallel configuration directly, ParallelConfiguration instead provides a set of list iterators which point into a combined list of ParallelLevels. This approach allows different configurations to reuse ParallelLevels without copying them. A list of ParallelConfigurations is contained in ParallelLibrary (ParallelLibrary::parallelConfigurations).
|
inline |
return the ParallelLevel corresponding to miPLIters[index]
If a meaningful index is not provided, return the last mi parallel level. This is useful within the Model context, for which we need the lowest level partition after any meta-iterator recursions.
References ParallelConfiguration::miPLIters.
Referenced by ApplicationInterface::set_evaluation_communicators().
|
inline |
return miPLIters[index]
If a meaningful index is not provided, return the last mi parallel level. This is useful within the Model context, for which we need the lowest level partition after any meta-iterator recursions.
References ParallelConfiguration::miPLIters.