PEARL
Parallel Event Access and Replay Library
List of all members
pearl::MpiComm Class Reference

Stores information related to an MPI communicator. More...

#include <pearl/MpiComm.h>

Inheritance diagram for pearl::MpiComm:
pearl::Communicator

Public Member Functions

Get MPI handles
MPI_Comm getComm () const
 Get MPI communicator handle. More...
 
Communicator duplication
MpiCommduplicate () const
 
- Public Member Functions inherited from pearl::Communicator
 Communicator (IdType id, const String &name, const ProcessGroup &group, Paradigm paradigm, Communicator *parent)
 Constructor. More...
 
virtual ~Communicator ()
 Destructor. More...
 
IdType getId () const
 Get global identifier. More...
 
const StringgetName () const
 Get communicator name. More...
 
const ProcessGroupgetGroup () const
 Get associated process group. More...
 
CommunicatorgetParent () const
 Get parent communicator. More...
 
Paradigm getParadigm () const
 Get communicator paradigm. More...
 

Constructors & destructor

 MpiComm (IdType id, const String &name, const MpiGroup &group, MpiComm *parent)
 Constructor. More...
 
virtual ~MpiComm ()
 Destructor. More...
 
 MpiComm (const MpiComm &comm)
 Copy constructor. More...
 

Additional Inherited Members

- Public Types inherited from pearl::Communicator
typedef uint32_t IdType
 Communicator definition identifier type. More...
 
- Static Public Attributes inherited from pearl::Communicator
static const IdType NO_ID = (~static_cast<IdType>(0))
 Numerical identifier used for undefined communicator definitions. More...
 
static const Communicator UNDEFINED
 

Detailed Description

Instances of the MpiComm class provide information about MPI communicators. In addition to the functionality of the base class Communicator, they also provide a "real" MPI communicator handle resembling the one used in the target application.

Constructor & Destructor Documentation

◆ MpiComm() [1/2]

pearl::MpiComm::MpiComm ( IdType  id,
const String name,
const MpiGroup group,
MpiComm parent 
)

Creates a new MPI communicator definition instance and initializes it with the given values.

Parameters
idGlobal communicator identifier
nameCommunicator name
groupAssociated process group object
parentParent communicator (NULL for root communicators or when this information is not available)

◆ ~MpiComm()

virtual pearl::MpiComm::~MpiComm ( )
virtual

Releases all allocated resources and destroys the instance.

◆ MpiComm() [2/2]

pearl::MpiComm::MpiComm ( const MpiComm comm)
protected

Copies the given instance and duplicates the associated MPI communicator handle using MPI_Comm_dup. It is 'protected' to prevent accidental invocation; users need to call MpiComm::duplicate() explicitly to create a communicator copy.

Parameters
commMPI communicator definition to duplicate

Member Function Documentation

◆ duplicate()

MpiComm* pearl::MpiComm::duplicate ( ) const

◆ getComm()

MPI_Comm pearl::MpiComm::getComm ( ) const

Returns the MPI communicator handle associated with this communicator object.

Returns
MPI communicator handle

The documentation for this class was generated from the following file:

Scalasca    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