Teuchos Package Browser (Single Doxygen Collection) Version of the Day
|
Concrete serial communicator subclass. More...
#include <Teuchos_DefaultSerialComm.hpp>
Public Member Functions | |
int | getTag () const |
The current tag. | |
![]() | |
virtual int | getTag () const =0 |
The current tag. | |
virtual | ~Comm () |
Destructor, declared virtual for safety of derived classes. | |
![]() | |
virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
Print the object with some verbosity level to a FancyOStream. | |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
Version of describe() that takes an std::ostream instead of a FancyOStream. | |
virtual | ~Describable () |
Destructor (marked virtual for memory safety of derived classes). | |
![]() | |
LabeledObject () | |
Construct with an empty label. | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
Set the object label (see LabeledObject). | |
virtual std::string | getObjectLabel () const |
Get the object label (see LabeledObject). | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Ordinal > | |
RCP< SerialComm< Ordinal > > | createSerialComm () |
Nonmember constructor. | |
![]() | |
enum | EReductionType |
Predefined reduction operations that Teuchos::Comm understands. More... | |
template<typename Ordinal > | |
int | rank (const Comm< Ordinal > &comm) |
Get the process rank. | |
template<typename Ordinal > | |
int | size (const Comm< Ordinal > &comm) |
Get the number of processes in the communicator. | |
template<typename Ordinal > | |
void | barrier (const Comm< Ordinal > &comm) |
Barrier. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const Ordinal count, Packet buffer[]) |
Broadcast array of objects that use value semantics. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const ArrayView< Packet > &buffer) |
Broadcast array of objects that use value semantics. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const int rootRank, Packet *object) |
Broadcast single object that use value semantics. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const Ptr< Packet > &object) |
Broadcast single object that use value semantics. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const int rootRank, const Ordinal count, Packet *const buffer[]) |
Broadcast array of objects that use reference semantics. | |
template<typename Ordinal , typename Packet > | |
void | broadcast (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const int rootRank, const ArrayView< const Ptr< Packet > > &buffer) |
Broadcast array of objects that use reference semantics. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | broadcast (const Comm< Ordinal > &comm, const Serializer &serializer, const int rootRank, const Ordinal count, Packet buffer[]) |
Broadcast array of objects that use value semantics using customized serializer. | |
template<typename Ordinal , typename Packet > | |
void | gather (const Packet sendBuf[], const Ordinal sendCount, Packet recvBuf[], const Ordinal recvCount, const int root, const Comm< Ordinal > &comm) |
Gather values from each process to the root process. | |
template<typename Ordinal , typename Packet > | |
void | gatherv (const Packet sendBuf[], const Ordinal sendCount, Packet recvBuf[], const Ordinal recvCounts[], const Ordinal displs[], const int root, const Comm< Ordinal > &comm) |
Gather arrays of possibly different lengths from each process to the root process. | |
template<typename Ordinal , typename Packet > | |
void | gatherAll (const Comm< Ordinal > &comm, const Ordinal sendCount, const Packet sendBuffer[], const Ordinal recvCount, Packet recvBuffer[]) |
Gather array of objects that use value semantics from every process to every process. | |
template<typename Ordinal , typename Packet > | |
void | gatherAll (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const Ordinal sendCount, const Packet *const sendBuffer[], const Ordinal recvCount, Packet *const recvBuffer[]) |
Gather array of objects that use reference semantics from every process to every process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | gatherAll (const Comm< Ordinal > &comm, const Serializer &serializer, const Ordinal sendCount, const Packet sendBuffer[], const Ordinal recvCount, Packet recvBuffer[]) |
Gather array of objects that use value semantics from every process to every process using customized serializer. | |
template<typename Ordinal , typename Packet > | |
void | scatter (const Packet sendBuf[], const Ordinal sendCount, Packet recvBuf[], const Ordinal recvCount, const Ordinal root, const Comm< Ordinal > &comm) |
Wrapper for MPI_Scatter; scatter collective. | |
template<typename Ordinal , typename Packet > | |
void | reduce (const Packet sendBuf[], Packet recvBuf[], const Ordinal count, const EReductionType reductType, const Ordinal root, const Comm< Ordinal > &comm) |
Wrapper for MPI_Reduce; reduction to one process, using a built-in reduction operator selected by enum. | |
template<typename Ordinal , typename Packet > | |
void | reduceAll (const Comm< Ordinal > &comm, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet sendBuffer[], Packet globalReducts[]) |
Wrapper for MPI_Allreduce that takes a custom reduction operator. | |
template<typename Ordinal , typename Packet > | |
void | reduceAll (const Comm< Ordinal > &comm, const EReductionType reductType, const Ordinal count, const Packet sendBuffer[], Packet globalReducts[]) |
Collective reduce all of array of objects using value semantics using a pre-defined reduction type. | |
template<typename Ordinal , typename Packet > | |
void | reduceAll (const Comm< Ordinal > &comm, const EReductionType reductType, const Packet &send, const Ptr< Packet > &globalReduct) |
Collective reduce all for single object using value semantics using a pre-defined reduction type. | |
template<typename Ordinal , typename Packet > | |
void | reduceAll (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const ReferenceTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet *const sendBuffer[], Packet *const globalReducts[]) |
Collective reduce all for array of objects using reference semantics. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | reduceAll (const Comm< Ordinal > &comm, const Serializer &serializer, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet sendBuffer[], Packet globalReducts[]) |
Collective reduce all of array of objects using value semantics using a user-defined reduction operator and customized serializer. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | reduceAll (const Comm< Ordinal > &comm, const Serializer &serializer, const EReductionType reductType, const Ordinal count, const Packet sendBuffer[], Packet globalReducts[]) |
Collective reduce all of array of objects using value semantics using a pre-defined reduction type and customized serializer. | |
template<typename Ordinal , typename Packet > | |
void | scan (const Comm< Ordinal > &comm, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet sendBuffer[], Packet scanReducts[]) |
Scan/Reduce array of objects that use value semantics using a user-defined reduction operator. | |
template<typename Ordinal , typename Packet > | |
void | scan (const Comm< Ordinal > &comm, const EReductionType reductType, const Ordinal count, const Packet sendBuffer[], Packet scanReducts[]) |
Scan/Reduce array of objects using value semantics using a predefined reduction type. | |
template<typename Ordinal , typename Packet > | |
void | scan (const Comm< Ordinal > &comm, const EReductionType reductType, const Packet &send, const Ptr< Packet > &scanReduct) |
Scan/Reduce single object using value semantics using a predefined reduction type. | |
template<typename Ordinal , typename Packet > | |
void | scan (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const ReferenceTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet *const sendBuffer[], Packet *const scanReducts[]) |
Scan/Reduce array of objects that use reference semantics using a user-defined reduction operator. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | scan (const Comm< Ordinal > &comm, const Serializer &serializer, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet sendBuffer[], Packet scanReducts[]) |
Scan/Reduce array of objects that use value semantics using a user-defined reduction operator and customized serializer. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | scan (const Comm< Ordinal > &comm, const Serializer &serializer, const EReductionType reductType, const Ordinal count, const Packet sendBuffer[], Packet scanReducts[]) |
Scan/Reduce array of objects using value semantics using a predefined reduction type and customized serializer. | |
template<typename Ordinal , typename Packet > | |
void | send (const Comm< Ordinal > &comm, const Ordinal count, const Packet sendBuffer[], const int destRank) |
Send objects that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
void | ssend (const Comm< Ordinal > &comm, const Ordinal count, const Packet sendBuffer[], const int destRank) |
Synchronously send objects that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
void | send (const Comm< Ordinal > &comm, const Packet &send, const int destRank) |
Send a single object that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
void | ssend (const Comm< Ordinal > &comm, const Packet &send, const int destRank) |
Synchronously send a single object that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
void | send (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const Ordinal count, const Packet *const sendBuffer[], const int destRank) |
Send objects that use reference semantics to another process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | send (const Comm< Ordinal > &comm, const Serializer &serializer, const Ordinal count, const Packet sendBuffer[], const int destRank) |
Send objects that use values semantics to another process using customized serializer. | |
template<typename Ordinal , typename Packet > | |
int | receive (const Comm< Ordinal > &comm, const int sourceRank, const Ordinal count, Packet recvBuffer[]) |
Receive objects that use values semantics from another process. | |
template<typename Ordinal , typename Packet > | |
int | receive (const Comm< Ordinal > &comm, const int sourceRank, Packet *recv) |
Receive a single object that use values semantics from another process. | |
template<typename Ordinal , typename Packet > | |
int | receive (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const int sourceRank, const Ordinal count, Packet *const recvBuffer[]) |
Receive objects that use reference semantics from another process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
int | receive (const Comm< Ordinal > &comm, const Serializer &serializer, const int sourceRank, const Ordinal count, Packet recvBuffer[]) |
Receive objects that use values semantics from another process using customized serializer. | |
template<typename Ordinal , typename Packet > | |
void | readySend (const Comm< Ordinal > &comm, const ArrayView< const Packet > &sendBuffer, const int destRank) |
Ready-Send an array of objects that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
void | readySend (const Comm< Ordinal > &comm, const Packet &send, const int destRank) |
Ready-Send a single object that use values semantics to another process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
void | readySend (const Comm< Ordinal > &comm, const Serializer &serializer, const ArrayView< const Packet > &sendBuffer, const int destRank) |
Ready-Send an array of objects that use values semantics to another process using customized serializer. | |
template<typename Ordinal , typename Packet > | |
RCP< CommRequest< Ordinal > > | isend (const Comm< Ordinal > &comm, const ArrayRCP< const Packet > &sendBuffer, const int destRank) |
Send objects that use values semantics to another process. | |
template<typename Ordinal , typename Packet > | |
RCP< CommRequest< Ordinal > > | isend (const Comm< Ordinal > &comm, const RCP< const Packet > &send, const int destRank) |
Send a single object that use values semantics to another process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
RCP< CommRequest< Ordinal > > | isend (const Comm< Ordinal > &comm, const Serializer &serializer, const ArrayRCP< const Packet > &sendBuffer, const int destRank) |
Send objects that use values semantics to another process using customized serializer. | |
template<typename Ordinal , typename Packet > | |
RCP< CommRequest< Ordinal > > | ireceive (const Comm< Ordinal > &comm, const ArrayRCP< Packet > &recvBuffer, const int sourceRank) |
Receive one or more objects (that use values semantics) from another process. | |
template<typename Ordinal , typename Packet > | |
RCP< CommRequest< Ordinal > > | ireceive (const Comm< Ordinal > &comm, const RCP< Packet > &recv, const int sourceRank) |
Receive one object (that uses values semantics) from another process. | |
template<typename Ordinal , typename Packet , typename Serializer > | |
RCP< CommRequest< Ordinal > > | ireceive (const Comm< Ordinal > &comm, const Serializer &serializer, const ArrayRCP< Packet > &recvBuffer, const int sourceRank) |
Send objects that use values semantics to another process using customized serializer. | |
template<typename Ordinal > | |
void | waitAll (const Comm< Ordinal > &comm, const ArrayView< RCP< CommRequest< Ordinal > > > &requests) |
Wait for an array of Teuchos::CommRequest objects. | |
template<typename Ordinal > | |
void | waitAll (const Comm< Ordinal > &comm, const ArrayView< RCP< CommRequest< Ordinal > > > &requests, const ArrayView< RCP< CommStatus< Ordinal > > > &statuses) |
Wait on one or more communication requests, and return their statuses. | |
template<typename Ordinal > | |
RCP< CommStatus< Ordinal > > | wait (const Comm< Ordinal > &comm, const Ptr< RCP< CommRequest< Ordinal > > > &request) |
Wait on a single communication request, and return its status. | |
![]() | |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
Describable output stream manipulator. | |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Output stream operator for Describable manipulator. | |
Constructors | |
SerialComm () | |
SerialComm (const SerialComm< Ordinal > &other) | |
Default copy constructor. | |
Overridden from Comm | |
virtual int | getRank () const |
virtual int | getSize () const |
virtual void | barrier () const |
virtual void | broadcast (const int rootRank, const Ordinal bytes, char buffer[]) const |
virtual void | gather (const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvBytes, char recvBuffer[], const int root) const |
Gather values from all processes to the root process. | |
virtual void | gatherAll (const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvBytes, char recvBuffer[]) const |
virtual void | reduceAll (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char globalReducts[]) const |
virtual void | scan (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char scanReducts[]) const |
virtual void | send (const Ordinal bytes, const char sendBuffer[], const int destRank) const |
virtual void | send (const Ordinal bytes, const char sendBuffer[], const int destRank, const int tag) const |
virtual void | ssend (const Ordinal bytes, const char sendBuffer[], const int destRank) const |
virtual void | ssend (const Ordinal bytes, const char sendBuffer[], const int destRank, const int tag) const |
virtual int | receive (const int sourceRank, const Ordinal bytes, char recvBuffer[]) const |
virtual void | readySend (const ArrayView< const char > &sendBuffer, const int destRank) const |
virtual void | readySend (const Ordinal bytes, const char sendBuffer[], const int destRank, const int tag) const |
virtual RCP< CommRequest< Ordinal > > | isend (const ArrayView< const char > &sendBuffer, const int destRank) const |
virtual RCP< CommRequest< Ordinal > > | isend (const ArrayView< const char > &sendBuffer, const int destRank, const int tag) const |
Variant of isend() that takes a tag. | |
virtual RCP< CommRequest< Ordinal > > | ireceive (const ArrayView< char > &Buffer, const int sourceRank) const |
virtual RCP< CommRequest< Ordinal > > | ireceive (const ArrayView< char > &Buffer, const int sourceRank, const int tag) const |
virtual void | waitAll (const ArrayView< RCP< CommRequest< Ordinal > > > &requests) const |
virtual void | waitAll (const ArrayView< RCP< CommRequest< Ordinal > > > &requests, const ArrayView< RCP< CommStatus< Ordinal > > > &statuses) const |
virtual RCP< CommStatus< Ordinal > > | wait (const Ptr< RCP< CommRequest< Ordinal > > > &request) const |
virtual RCP< Comm< Ordinal > > | duplicate () const |
virtual RCP< Comm< Ordinal > > | split (const int color, const int key) const |
virtual RCP< Comm< Ordinal > > | createSubcommunicator (const ArrayView< const int > &ranks) const |
Overridden from Describable | |
std::string | description () const |
Additional Inherited Members | |
![]() | |
static const EVerbosityLevel | verbLevel_default = VERB_DEFAULT |
Default value for the verbLevel argument of describe(). | |
Concrete serial communicator subclass.
ToDo: Finish documentation!
Definition at line 76 of file Teuchos_DefaultSerialComm.hpp.
Teuchos::SerialComm< Ordinal >::SerialComm |
Definition at line 235 of file Teuchos_DefaultSerialComm.hpp.
Teuchos::SerialComm< Ordinal >::SerialComm | ( | const SerialComm< Ordinal > & | other | ) |
Default copy constructor.
Definition at line 239 of file Teuchos_DefaultSerialComm.hpp.
|
inlinevirtual |
The current tag.
Implements Teuchos::Comm< Ordinal >.
Definition at line 83 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 247 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 254 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 261 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 268 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Gather values from all processes to the root process.
Implements Teuchos::Comm< Ordinal >.
Definition at line 295 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 277 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 314 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 325 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 336 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 348 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 362 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 388 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 401 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 415 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 433 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Variant of isend() that takes a tag.
Implements Teuchos::Comm< Ordinal >.
Definition at line 444 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 454 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 465 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 475 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 484 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 502 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 517 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 524 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
brief .
Implements Teuchos::Comm< Ordinal >.
Definition at line 535 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 548 of file Teuchos_DefaultSerialComm.hpp.
|
related |
Nonmember constructor.
Definition at line 221 of file Teuchos_DefaultSerialComm.hpp.