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 wPLIter | |
| const ParallelLevel & | si_parallel_level () const |
| return the ParallelLevel corresponding to siPLIter | |
| const ParallelLevel & | ie_parallel_level () const |
| return the ParallelLevel corresponding to iePLIter | |
| const ParallelLevel & | ea_parallel_level () const |
| return the ParallelLevel corresponding to eaPLIter | |
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 | |
| ParLevLIter | wPLIter |
| list iterator for MPI_COMM_WORLD (not strictly required, but improves modularity by avoiding explicit usage of MPI_COMM_WORLD) | |
| ParLevLIter | siPLIter |
| list iterator for concurrent iterator partitions (there may be more than one 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) | |
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).
1.7.6.1