Teuchos::MpiComm< Ordinal > Class Template Reference

Concrete communicator subclass based on MPI. More...

#include <Teuchos_DefaultMpiComm.hpp>

Inheritance diagram for Teuchos::MpiComm< Ordinal >:

Teuchos::Comm< Ordinal > Teuchos::Describable List of all members.

Public Member Functions

Constructors
 MpiComm (const RefCountPtr< const OpaqueWrapper< MPI_Comm > > &rawMpiComm)
 Construct given a wrapped MPI_Comm oqaque object.
RefCountPtr< const OpaqueWrapper<
MPI_Comm > > 
getRawMpiComm () const
 Return the embedded wrapped opaque MPI_Comm object.
Overridden from Comm
int getRank () const
 
int getSize () const
 
void barrier () const
 
void broadcast (const int rootRank, const Ordinal bytes, char buffer[]) const
 
void gatherAll (const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvBytes, char recvBuffer[]) const
 
void reduceAll (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char globalReducts[]) const
 
void reduceAllAndScatter (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvCounts[], const Ordinal blockSize, char myGlobalReducts[]) const
 
void scan (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char scanReducts[]) const
 
void send (const Ordinal bytes, const char sendBuffer[], const int destRank) const
 
int receive (const int sourceRank, const Ordinal bytes, char recvBuffer[]) const
 
Overridden from Describable
std::string description () const
 

Related Functions

(Note that these are not member functions.)

RefCountPtr< MpiComm< Ordinal > > createMpiComm (const RefCountPtr< const OpaqueWrapper< MPI_Comm > > &rawMpiComm)
 Helper function that creates a dynamically allocated MpiComm object or returns Teuchos::null to correctly represent a null communicator.

Detailed Description

template<typename Ordinal>
class Teuchos::MpiComm< Ordinal >

Concrete communicator subclass based on MPI.

Assertions:

ToDo: Finish documentation!

Definition at line 80 of file Teuchos_DefaultMpiComm.hpp.


Constructor & Destructor Documentation

template<typename Ordinal>
Teuchos::MpiComm< Ordinal >::MpiComm const RefCountPtr< const OpaqueWrapper< MPI_Comm > > &  rawMpiComm  ) 
 

Construct given a wrapped MPI_Comm oqaque object.

Preconditions:

  • rawMpiComm.get()!=NULL && *rawMpiComm != MPI_COMM_NULL

Definition at line 206 of file Teuchos_DefaultMpiComm.hpp.


Member Function Documentation

template<typename Ordinal>
RefCountPtr<const OpaqueWrapper<MPI_Comm> > Teuchos::MpiComm< Ordinal >::getRawMpiComm  )  const [inline]
 

Return the embedded wrapped opaque MPI_Comm object.

Definition at line 97 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
int Teuchos::MpiComm< Ordinal >::getRank  )  const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 223 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
int Teuchos::MpiComm< Ordinal >::getSize  )  const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 229 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::barrier  )  const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 235 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::broadcast const int  rootRank,
const Ordinal  bytes,
char  buffer[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 244 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::gatherAll const Ordinal  sendBytes,
const char  sendBuffer[],
const Ordinal  recvBytes,
char  recvBuffer[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 255 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::reduceAll const ValueTypeReductionOp< Ordinal, char > &  reductOp,
const Ordinal  bytes,
const char  sendBuffer[],
char  globalReducts[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 272 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::reduceAllAndScatter const ValueTypeReductionOp< Ordinal, char > &  reductOp,
const Ordinal  sendBytes,
const char  sendBuffer[],
const Ordinal  recvCounts[],
const Ordinal  blockSize,
char  myGlobalReducts[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 288 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::scan const ValueTypeReductionOp< Ordinal, char > &  reductOp,
const Ordinal  bytes,
const char  sendBuffer[],
char  scanReducts[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 336 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
void Teuchos::MpiComm< Ordinal >::send const Ordinal  bytes,
const char  sendBuffer[],
const int  destRank
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 352 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
int Teuchos::MpiComm< Ordinal >::receive const int  sourceRank,
const Ordinal  bytes,
char  recvBuffer[]
const [virtual]
 

Implements Teuchos::Comm< Ordinal >.

Definition at line 381 of file Teuchos_DefaultMpiComm.hpp.

template<typename Ordinal>
std::string Teuchos::MpiComm< Ordinal >::description  )  const [virtual]
 

Reimplemented from Teuchos::Describable.

Definition at line 417 of file Teuchos_DefaultMpiComm.hpp.


Friends And Related Function Documentation

template<typename Ordinal>
RefCountPtr< MpiComm< Ordinal > > createMpiComm const RefCountPtr< const OpaqueWrapper< MPI_Comm > > &  rawMpiComm  )  [related]
 

Helper function that creates a dynamically allocated MpiComm object or returns Teuchos::null to correctly represent a null communicator.

Postconditions: [rawMpiComm.get()!=NULL && *rawMpiComm!=MPI_COMM_NULL] return.get()!=NULL [rawMpiComm.get()==NULL || *rawMpiComm==MPI_COMM_NULL] return.get()==NULL


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:30:32 2008 for Teuchos - Trilinos Tools Package by doxygen 1.3.9.1