|
Teuchos - Trilinos Tools Package Version of the Day
|
Concrete serial communicator subclass. More...
#include <Teuchos_DefaultSerialComm.hpp>
Public Member Functions | |
| int | getTag () const |
| The current tag. | |
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 |
| Public Member Functions inherited from Teuchos::Comm< Ordinal > | |
| virtual | ~Comm () |
| Destructor, declared virtual for safety of derived classes. | |
| Public Member Functions inherited from Teuchos::Describable | |
| 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). | |
| Public Member Functions inherited from Teuchos::LabeledObject | |
| 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 Symbols | |
(Note that these are not member symbols.) | |
| template<typename Ordinal> | |
| RCP< SerialComm< Ordinal > > | createSerialComm () |
| Nonmember constructor. | |
| Related Symbols inherited from Teuchos::Comm< Ordinal > | |
| 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. | |
| Related Symbols inherited from Teuchos::Describable | |
| 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. | |
Additional Inherited Members | |
| Static Public Attributes inherited from Teuchos::Describable | |
| 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 44 of file Teuchos_DefaultSerialComm.hpp.
| Teuchos::SerialComm< Ordinal >::SerialComm | ( | ) |
Definition at line 203 of file Teuchos_DefaultSerialComm.hpp.
| Teuchos::SerialComm< Ordinal >::SerialComm | ( | const SerialComm< Ordinal > & | other | ) |
Default copy constructor.
Definition at line 207 of file Teuchos_DefaultSerialComm.hpp.
|
inlinevirtual |
The current tag.
Implements Teuchos::Comm< Ordinal >.
Definition at line 51 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 215 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 222 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 229 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 236 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Gather values from all processes to the root process.
Implements Teuchos::Comm< Ordinal >.
Definition at line 263 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 245 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 282 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 293 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 304 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 316 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 330 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 356 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 369 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 383 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 401 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Variant of isend() that takes a tag.
Implements Teuchos::Comm< Ordinal >.
Definition at line 412 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 422 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 433 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 443 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 452 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 470 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 485 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Implements Teuchos::Comm< Ordinal >.
Definition at line 492 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
brief .
Implements Teuchos::Comm< Ordinal >.
Definition at line 503 of file Teuchos_DefaultSerialComm.hpp.
|
virtual |
Reimplemented from Teuchos::Describable.
Definition at line 516 of file Teuchos_DefaultSerialComm.hpp.
|
Nonmember constructor.
Definition at line 189 of file Teuchos_DefaultSerialComm.hpp.