|
PEARL
Parallel Event Access and Replay Library
|
Representation of a communicator definition. More...
#include <pearl/Communicator.h>
Public Types | |
| typedef uint32_t | IdType |
| Communicator definition identifier type. More... | |
Public Member Functions | |
Constructors & destructor | |
| Communicator (IdType id, const String &name, const ProcessGroup &group, Paradigm paradigm, Communicator *parent) | |
| Constructor. More... | |
| virtual | ~Communicator () |
| Destructor. More... | |
Access definition data | |
| IdType | getId () const |
| Get global identifier. More... | |
| const String & | getName () const |
| Get communicator name. More... | |
| const ProcessGroup & | getGroup () const |
| Get associated process group. More... | |
| Communicator * | getParent () const |
| Get parent communicator. More... | |
| Paradigm | getParadigm () const |
| Get communicator paradigm. More... | |
Static Public Attributes | |
| static const IdType | NO_ID = (~static_cast<IdType>(0)) |
| Numerical identifier used for undefined communicator definitions. More... | |
| static const Communicator | UNDEFINED |
Friends | |
| std::ostream & | operator<< (std::ostream &stream, const Communicator &item) |
Related Functions | |
(Note that these are not member functions.) | |
Stream I/O functions | |
| std::ostream & | operator<< (std::ostream &stream, const Communicator &item) |
| Stream output operator. More... | |
Comparison operators | |
| bool | operator== (const Communicator &lhs, const Communicator &rhs) |
| Equality operator. More... | |
| bool | operator!= (const Communicator &lhs, const Communicator &rhs) |
| Inequality operator. More... | |
Instances of the Communicator class provide information about MPI communicators. Communicators are characterized by a name and a parent communicator as well as an associated group of processes. The numerical identifiers of the individual communicators are globally defined and continuously enumerated, i.e., the ID is element of [0,#communicators-1].
| typedef uint32_t pearl::Communicator::IdType |
| pearl::Communicator::Communicator | ( | IdType | id, |
| const String & | name, | ||
| const ProcessGroup & | group, | ||
| Paradigm | paradigm, | ||
| Communicator * | parent | ||
| ) |
Creates a new communicator definition instance and initializes it with the given values.
| id | Global communicator identifier |
| name | Communicator name |
| group | Associated process group object |
| paradigm | Communicator paradigm |
| parent | Parent communicator (NULL for root communicators or when this information is not available) |
|
virtual |
Releases all allocated resources and destroys the instance.
| const ProcessGroup& pearl::Communicator::getGroup | ( | ) | const |
Returns the ProcessGroup object associated to this communicator.
| IdType pearl::Communicator::getId | ( | ) | const |
Returns the global identifier of the communicator definition.
| const String& pearl::Communicator::getName | ( | ) | const |
Returns the string definition storing the communicators's name. If this information is not available, String::UNDEFINED is returned.
| Paradigm pearl::Communicator::getParadigm | ( | ) | const |
Returns the paradigm of the communicator. The paradigm can be used to distiguish communicators of different message passing libraries, such as MPI, ARMCI, SHMEM, etc..
| Communicator* pearl::Communicator::getParent | ( | ) | const |
Returns a pointer to the parent communicator if applicable. Returns NULL for root communicators or when this information is not available.
|
related |
Compares two communicator definition objects lhs and rhs for inequality. Two communicators are considered unequal if either their IDs, names, associated process groups, or parents differ.
| lhs | Left-hand operand |
| rhs | Right-hand operand |
|
friend |
|
related |
Prints the contents of the given communicator definition object item to an output stream in a human-readable form.
| stream | Output stream |
| item | Communicator definition object |
|
related |
Compares two communicator definition objects lhs and rhs for equality. Two communicators are considered equal if their identifiers, names, associated process groups, and parants are identical.
| lhs | Left-hand operand |
| rhs | Right-hand operand |
|
static |
Static instance of class Communicator representing undefined communicator entries in other definitions.
![]() |
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 |