Anasazi Version of the Day
Public Member Functions
TSQR::Trilinos::TpetraMessenger< Datum > Class Template Reference

Communication object for TSQR. More...

#include <Tsqr_TpetraMessenger.hpp>

Inheritance diagram for TSQR::Trilinos::TpetraMessenger< Datum >:
TSQR::MessengerBase< Datum >

List of all members.

Public Member Functions

virtual void send (const Datum sendData[], const int sendCount, const int destProc, const int tag)
 Send sendData[0:sendCount-1] to processor destProc.
virtual void recv (Datum recvData[], const int recvCount, const int srcProc, const int tag)
 Receive recvData[0:recvCount-1] from processor srcProc.
virtual void swapData (const Datum sendData[], Datum recvData[], const int sendRecvCount, const int destProc, const int tag)
virtual Datum globalSum (const Datum &inDatum)
virtual Datum globalMin (const Datum &inDatum)
virtual Datum globalMax (const Datum &inDatum)
virtual void globalVectorSum (const Datum inData[], Datum outData[], const int count)
virtual int rank () const
virtual int size () const
virtual void barrier () const

Detailed Description

template<class Datum>
class TSQR::Trilinos::TpetraMessenger< Datum >

Communication object for TSQR.

A thin wrapper around Teuchos::Comm, for use by TSQR when invoked on Tpetra::MultiVector. The internode parallel part of TSQR communicates via a MessengerBase< Datum > interface. TpetraMessenger< Datum > implements that interface by wrapping Teuchos::Comm.

Warning:
Datum should be a class with value-type semantics.

Definition at line 52 of file Tsqr_TpetraMessenger.hpp.


Member Function Documentation

template<class Datum >
virtual void TSQR::Trilinos::TpetraMessenger< Datum >::send ( const Datum  sendData[],
const int  sendCount,
const int  destProc,
const int  tag 
) [inline, virtual]

Send sendData[0:sendCount-1] to processor destProc.

Note:
(mfh 14 June 2010) Teuchos generates "tag" arguments to MPI calls internally, so we ignore the tag here. I don't use tags for anything in TSQR, so it doesn't matter.

Implements TSQR::MessengerBase< Datum >.

Definition at line 60 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual void TSQR::Trilinos::TpetraMessenger< Datum >::recv ( Datum  recvData[],
const int  recvCount,
const int  srcProc,
const int  tag 
) [inline, virtual]

Receive recvData[0:recvCount-1] from processor srcProc.

Note:
(mfh 14 June 2010) Teuchos generates "tag" arguments to MPI calls internally, so we ignore the tag here. I don't use tags for anything in TSQR, so it doesn't matter.

Implements TSQR::MessengerBase< Datum >.

Definition at line 73 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual void TSQR::Trilinos::TpetraMessenger< Datum >::swapData ( const Datum  sendData[],
Datum  recvData[],
const int  sendRecvCount,
const int  destProc,
const int  tag 
) [inline, virtual]

Exchange sencRecvCount elements of sendData with processor destProc, receiving the result into recvData. Assume that sendData and recvData do not alias one another.

Implements TSQR::MessengerBase< Datum >.

Definition at line 88 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual Datum TSQR::Trilinos::TpetraMessenger< Datum >::globalSum ( const Datum &  inDatum) [inline, virtual]

Allreduce sum all processors' inDatum data, returning the result (on all processors).

Implements TSQR::MessengerBase< Datum >.

Definition at line 158 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual Datum TSQR::Trilinos::TpetraMessenger< Datum >::globalMin ( const Datum &  inDatum) [inline, virtual]

Assumes that Datum objects are less-than comparable by the underlying communication protocol.

Implements TSQR::MessengerBase< Datum >.

Definition at line 171 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual Datum TSQR::Trilinos::TpetraMessenger< Datum >::globalMax ( const Datum &  inDatum) [inline, virtual]

Assumes that Datum objects are less-than comparable by the underlying communication protocol.

Implements TSQR::MessengerBase< Datum >.

Definition at line 184 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual void TSQR::Trilinos::TpetraMessenger< Datum >::globalVectorSum ( const Datum  inData[],
Datum  outData[],
const int  count 
) [inline, virtual]

Allreduce sum all processors' inData[0:count-1], storing the results (on all processors) in outData.

Implements TSQR::MessengerBase< Datum >.

Definition at line 195 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual int TSQR::Trilinos::TpetraMessenger< Datum >::rank ( ) const [inline, virtual]

Return this process' rank.

Implements TSQR::MessengerBase< Datum >.

Definition at line 215 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual int TSQR::Trilinos::TpetraMessenger< Datum >::size ( ) const [inline, virtual]

Return the total number of ranks in the Teuchos::Comm communicator.

Implements TSQR::MessengerBase< Datum >.

Definition at line 220 of file Tsqr_TpetraMessenger.hpp.

template<class Datum >
virtual void TSQR::Trilinos::TpetraMessenger< Datum >::barrier ( ) const [inline, virtual]

Execute a barrier over the communicator.

Implements TSQR::MessengerBase< Datum >.

Definition at line 225 of file Tsqr_TpetraMessenger.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends