|
PEARL
Parallel Event Access and Replay Library
|
Stores information related to an MPI group. More...
#include <pearl/MpiGroup.h>
Public Member Functions | |
Constructors & destructor | |
| MpiGroup (IdType id, const String &name, const RankContainer &ranks, bool isSelf, bool isWorld) | |
| Constructor. More... | |
| virtual | ~MpiGroup () |
| Destructor. More... | |
Get MPI handles | |
| MPI_Group | getGroup () |
| Get MPI group handle. More... | |
Public Member Functions inherited from pearl::ProcessGroup | |
| ProcessGroup (IdType id, const String &name, const RankContainer &ranks, bool isSelf, bool isWorld) | |
| Constructor. More... | |
| virtual | ~ProcessGroup () |
| Destructor. More... | |
| IdType | getId () const |
| Get global identifier. More... | |
| const String & | getName () const |
| Get process group name. More... | |
| uint32_t | numRanks () const |
| Get number of processes. More... | |
| int | getLocalRank (int globalRank) const |
| Convert global to local rank. More... | |
| int | getGlobalRank (int localRank) const |
| Convert local to global rank. More... | |
| bool | isSelf () const |
| bool | isWorld () const |
Friends | |
| class | MpiComm |
Additional Inherited Members | |
Public Types inherited from pearl::ProcessGroup | |
| typedef uint32_t | IdType |
| ProcessGroup definition identifier type. More... | |
| typedef std::vector< int > | RankContainer |
| Container type for process identifiers (i.e., MPI ranks). More... | |
Static Public Attributes inherited from pearl::ProcessGroup | |
| static const IdType | NO_ID = (~static_cast<IdType>(0)) |
| Numerical identifier used for undefined process group definitions. More... | |
| static const ProcessGroup | UNDEFINED |
Related Functions inherited from pearl::ProcessGroup | |
| std::ostream & | operator<< (std::ostream &stream, const ProcessGroup &item) |
| Stream output operator. More... | |
| bool | operator== (const ProcessGroup &lhs, const ProcessGroup &rhs) |
| Equality operator. More... | |
| bool | operator!= (const ProcessGroup &lhs, const ProcessGroup &rhs) |
| Inequality operator. More... | |
Instances of the MpiGroup class provide information about MPI groups. In addition to the functionality of the base class ProcessGroup, they also provide a "real" MPI group handle resembling the one used in the target application.
| pearl::MpiGroup::MpiGroup | ( | IdType | id, |
| const String & | name, | ||
| const RankContainer & | ranks, | ||
| bool | isSelf, | ||
| bool | isWorld | ||
| ) |
Creates a MPI group definition instance and initializes it with the given values. The flags isSelf and isWorld are mutually exclusive, except for single-process experiments.
| id | Global MPI group identifier |
| name | MPI group name |
| ranks | Ordered list of global process identifiers (i.e., ranks) defining the group |
| isSelf | Indicates whether this group refers to 'SELF' |
| isWorld | Indicates whether this group refers to 'WORLD' |
|
virtual |
Releases all allocated resources and destroys the instance.
| MPI_Group pearl::MpiGroup::getGroup | ( | ) |
Returns the MPI group handle associated with this group object. The MPI group is lazily created on first access and then cached until the instance is destructed.
|
friend |
![]() |
Copyright © 1998–2016 Forschungszentrum Jülich GmbH,
Jülich Supercomputing Centre
Copyright © 2009–2015 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming |