Tpetra::Distributor< OrdinalType > Class Template Reference

Tpetra::Distributor: The Tpetra Gather/Scatter Setup Class. More...

#include <Tpetra_Distributor.hpp>

Inheritance diagram for Tpetra::Distributor< OrdinalType >:

Inheritance graph
[legend]
Collaboration diagram for Tpetra::Distributor< OrdinalType >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Distributor (Teuchos::RCP< Comm< OrdinalType, OrdinalType > > const &comm)
 Comm Constuctor (default ctr).
 Distributor (Distributor< OrdinalType > const &distributor)
 Copy Constructor.
 ~Distributor ()
 Destructor.
void createFromSends (OrdinalType const &numExportIDs, std::vector< OrdinalType > const &exportImageIDs, bool const &deterministic, OrdinalType &numRemoteIDs)
 Create Distributor object using list of ImageIDs to send to.
void createFromRecvs (OrdinalType const &numRemoteIDs, std::vector< OrdinalType > const &remoteGIDs, std::vector< OrdinalType > const &remoteImageIDs, bool const &deterministic, OrdinalType &numExportIDs, std::vector< OrdinalType > &exportGIDs, std::vector< OrdinalType > &exportImageIDs)
 Create Distributor object using list of Image IDs to receive from.
OrdinalType const & getTotalReceiveLength () const
 getTotalReceiveLength
OrdinalType const & getNumReceives () const
 getNumReceives
OrdinalType const & getSelfMessage () const
 getSelfMessage - flag for if we're sending to ourself
OrdinalType const & getNumSends () const
 getNumSends
OrdinalType const & getMaxSendLength () const
 getMaxSendLength - maximum number of elements we're sending to a remote image
std::vector< OrdinalType
> const & 
getImagesFrom () const
 getImagesFrom - list of images sending elements to us
std::vector< OrdinalType
> const & 
getLengthsFrom () const
 getLengthsFrom - number of elements we're receiving from each image
std::vector< OrdinalType
> const & 
getImagesTo () const
std::vector< OrdinalType
> const & 
getIndicesTo () const
std::vector< OrdinalType
> const & 
getStartsTo () const
std::vector< OrdinalType
> const & 
getLengthsTo () const
Distributor< OrdinalType
> const & 
getReverse ()
void print (ostream &os) const
 print method inherited from Object
void printInfo (ostream &os) const
 printInfo method inherited from Distributor

Detailed Description

template<typename OrdinalType>
class Tpetra::Distributor< OrdinalType >

Tpetra::Distributor: The Tpetra Gather/Scatter Setup Class.

The Distributor class is an interface that encapsulates the general information and services needed for other Tpetra classes to perform gather/scatter operations on a parallel computer.


Member Function Documentation

template<typename OrdinalType>
void Tpetra::Distributor< OrdinalType >::createFromRecvs ( OrdinalType const &  numRemoteIDs,
std::vector< OrdinalType > const &  remoteGIDs,
std::vector< OrdinalType > const &  remoteImageIDs,
bool const &  deterministic,
OrdinalType &  numExportIDs,
std::vector< OrdinalType > &  exportGIDs,
std::vector< OrdinalType > &  exportImageIDs 
) [inline]

Create Distributor object using list of Image IDs to receive from.

Take a list of global IDs and construct a plan for efficiently scattering to these images. Return the number and list of IDs being sent by me.

Parameters:
numRemoteIDs In Number of IDs this image will be receiving.
remoteGIDs In List of IDs that this image wants.
remoteImageIDs In List of images that will send the remote IDs.
deterministic In No Op.
numExportIDs Out Number of IDs that need to be sent from this image.
exportGIDs Out List of IDs that need to be sent from this image.
exportImageIDs Out List of images that will get the exported IDs.

template<typename OrdinalType>
void Tpetra::Distributor< OrdinalType >::createFromSends ( OrdinalType const &  numExportIDs,
std::vector< OrdinalType > const &  exportImageIDs,
bool const &  deterministic,
OrdinalType &  numRemoteIDs 
) [inline]

Create Distributor object using list of ImageIDs to send to.

Take a list of ImageIDs and construct a plan for efficiently scattering to these images. Return the number of IDs being sent to me.

Parameters:
numExportIDs In Number of IDs that need to be sent from this image.
exportImageIDs In List of images that will get the exported IDs (should be of length numExportIDs).
deterministic In No Op.
numRemoteIDs Out Number of IDs this image will be receiving.

template<typename OrdinalType>
std::vector<OrdinalType> const& Tpetra::Distributor< OrdinalType >::getIndicesTo (  )  const [inline]

(Used only if exportImageIDs was not blocked by image.) Gives the order to ** the export buffer, in order to get a version that is sorted by imageID.

template<typename OrdinalType>
std::vector<OrdinalType> const& Tpetra::Distributor< OrdinalType >::getLengthsFrom (  )  const [inline]

getLengthsFrom - number of elements we're receiving from each image

We will receive lengthsFrom[i] elements from image imagesFrom[i]

template<typename OrdinalType>
std::vector<OrdinalType> const& Tpetra::Distributor< OrdinalType >::getLengthsTo (  )  const [inline]

We will send lengthsTo[i] elements to image imagesTo[i]

template<typename OrdinalType>
Distributor<OrdinalType> const& Tpetra::Distributor< OrdinalType >::getReverse (  )  [inline]

Returns a Distributor with a reverse plan of this Distributor's plan Creates the reverse Distributor if this is the first time this function has been called.

template<typename OrdinalType>
OrdinalType const& Tpetra::Distributor< OrdinalType >::getSelfMessage (  )  const [inline]

getSelfMessage - flag for if we're sending to ourself

If we are sending any elements to ourself, returns 1. If we aren't, returns 0.

template<typename OrdinalType>
std::vector<OrdinalType> const& Tpetra::Distributor< OrdinalType >::getStartsTo (  )  const [inline]

Given an export buffer that contains all of the elements we're sending out, image i's block of elements will start at position startsTo[i]


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:56:02 2009 for Tpetra by doxygen 1.4.7