#include <Teuchos_Comm.hpp>
Inheritance diagram for Teuchos::Comm< Ordinal >:

Public Member Functions | |
Query functions | |
| virtual int | getRank () const =0 |
| Returns the rank of this process. | |
| virtual int | getSize () const =0 |
| Returns the number of processes that make up this communicator. | |
Collective Operations | |
| virtual void | barrier () const =0 |
Pause every process in *this communicator until all the processes reach this point. | |
| virtual void | broadcast (const int rootRank, const Ordinal bytes, char buffer[]) const =0 |
| Broadcast values from the root process to the slave processes. | |
| virtual void | gatherAll (const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvBytes, char recvBuffer[]) const =0 |
| Gather values from each process to collect on all processes. | |
| virtual void | reduceAll (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char globalReducts[]) const =0 |
| Global reduction. | |
| virtual void | reduceAllAndScatter (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal sendBytes, const char sendBuffer[], const Ordinal recvCounts[], char myGlobalReducts[]) const =0 |
| Global reduction combined with a scatter. | |
| virtual void | scan (const ValueTypeReductionOp< Ordinal, char > &reductOp, const Ordinal bytes, const char sendBuffer[], char scanReducts[]) const =0 |
| Scan reduction. | |
Blocking Point-to-Point Operations | |
| virtual void | send (const Ordinal bytes, const char sendBuffer[], const int destRank) const =0 |
| Blocking send of data from this process to another process. | |
| virtual int | receive (const int sourceRank, const Ordinal bytes, char recvBuffer[]) const =0 |
| Blocking receive of data from this process to another process. | |
| virtual void | readySend (const ArrayView< const char > &sendBuffer, const int destRank) const =0 |
| Ready send of data from this process to another process. | |
Non-blocking Point-to-Point Operations | |
| virtual RCP< CommRequest > | isend (const ArrayView< const char > &sendBuffer, const int destRank) const =0 |
| Non-blocking send. | |
| virtual RCP< CommRequest > | ireceive (const ArrayView< char > &recvBuffer, const int sourceRank) const =0 |
| Non-blocking receive. | |
| virtual void | waitAll (const ArrayView< RCP< CommRequest > > &requests) const =0 |
| Wait on a set of communication request. | |
| virtual void | wait (const Ptr< RCP< CommRequest > > &request) const =0 |
| Wait on a single communication request. | |
Related Functions | |
| (Note that these are not member functions.) | |
| enum | EReductionType { REDUCE_SUM, REDUCE_MIN, REDUCE_MAX, REDUCE_AND } |
| Enumeration for selecting from a set of pre-defined reduction operations. More... | |
| int | rank (const Comm< Ordinal > &comm) |
| Get the process rank. | |
| int | size (const Comm< Ordinal > &comm) |
| Get the number of processes in the communicator. | |
| void | barrier (const Comm< Ordinal > &comm) |
| Barrier. | |
| void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const Ordinal count, Packet buffer[]) |
| Broadcast array of objects that use value semantics. | |
| void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const ArrayView< Packet > &buffer) |
| Broadcast array of objects that use value semantics. | |
| void | broadcast (const Comm< Ordinal > &comm, const int rootRank, Packet *object) |
| Broadcast single object that use value semantics. | |
| void | broadcast (const Comm< Ordinal > &comm, const int rootRank, const Ptr< Packet > &object) |
| Broadcast single object that use value semantics. | |
| 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. | |
| 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. | |
| 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. | |
| void | reduceAll (const Comm< Ordinal > &comm, 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. | |
| 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. | |
| void | reduceAll (const Comm< Ordinal > &comm, const EReductionType reductType, const Packet &send, Packet *globalReduct) |
| Collective reduce all for single object using value semantics using a pre-defined reduction type. | |
| 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. | |
| void | reduceAllAndScatter (const Comm< Ordinal > &comm, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal sendCount, const Packet sendBuffer[], const Ordinal recvCounts[], Packet myGlobalReducts[]) |
| Reduce and Scatter array of objects that use value semantics using a user-defined reduction object. | |
| void | reduceAllAndScatter (const Comm< Ordinal > &comm, const EReductionType reductType, const Ordinal sendCount, const Packet sendBuffer[], const Ordinal recvCounts[], Packet myGlobalReducts[]) |
| Reduce and Scatter array of objects that use value semantics using a a pre-defined reduction type. | |
| void | reduceAllAndScatter (const Comm< Ordinal > &comm, const Serializer< Ordinal, Packet > &serializer, const ReferenceTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal sendCount, const Packet *const sendBuffer[], const Ordinal recvCounts[], Packet *const myGlobalReducts[]) |
| Reduce and Scatter array of objects that use reference semantics using a user-defined reduction object. | |
| 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. | |
| 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. | |
| void | scan (const Comm< Ordinal > &comm, const EReductionType reductType, const Packet &send, Packet *scanReduct) |
| Scan/Reduce single object using value semantics using a predefined reduction type. | |
| 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. | |
| void | send (const Comm< Ordinal > &comm, const Ordinal count, const Packet sendBuffer[], const int destRank) |
| Send objects that use values semantics to another process. | |
| void | send (const Comm< Ordinal > &comm, const Packet &send, const int destRank) |
| Send a single object that use values semantics to another process. | |
| 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. | |
| int | receive (const Comm< Ordinal > &comm, const int sourceRank, const Ordinal count, Packet recvBuffer[]) |
| Receive objects that use values semantics from another process. | |
| int | receive (const Comm< Ordinal > &comm, const int sourceRank, Packet *recv) |
| Receive a single object that use values semantics from another process. | |
| 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. | |
| 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. | |
| void | readySend (const Comm< Ordinal > &comm, const Packet &send, const int destRank) |
| Ready-Send a single object that use values semantics to another process. | |
| RCP< CommRequest > | isend (const Comm< Ordinal > &comm, const ArrayRCP< const Packet > &sendBuffer, const int destRank) |
| Send objects that use values semantics to another process. | |
| RCP< CommRequest > | isend (const Comm< Ordinal > &comm, const RCP< const Packet > &send, const int destRank) |
| Send a single object that use values semantics to another process. | |
| RCP< CommRequest > | ireceive (const Comm< Ordinal > &comm, const ArrayRCP< Packet > &recvBuffer, const int sourceRank) |
| Send objects that use values semantics to another process. | |
| RCP< CommRequest > | ireceive (const Comm< Ordinal > &comm, const RCP< Packet > &recv, const int sourceRank) |
| Send a single object that use values semantics to another process. | |
| void | waitAll (const Comm< Ordinal > &comm, const ArrayView< RCP< CommRequest > > &requests) |
| Wait for an array of Teuchos::CommRequest objects. | |
| void | wait (const Comm< Ordinal > &comm, const Ptr< RCP< CommRequest > > &request) |
| Wait on on a single request. | |
This interface is templated on the ordinal type but only deals with buffers of untyped data represented as arrays char type. All reduction operations that are initiated by the concreate communicator object are performed by user-defined ReductOpBase objects. It is the responsibility of the ReductOpBase object to know what the currect data type is, to perform casts or serializations/unserializations to and from char[] buffers, and to know how to reduce the objects correctly. It is strictly up to the client to correctly convert data types to char[] arrays but there is a great deal of helper code to make this easy and safe.
ToDo: Finish documentation!
Definition at line 59 of file Teuchos_Comm.hpp.
| virtual int Teuchos::Comm< Ordinal >::getRank | ( | ) | const [pure virtual] |
Returns the rank of this process.
Postconditions:
0 <= return && return < this->getSize() Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual int Teuchos::Comm< Ordinal >::getSize | ( | ) | const [pure virtual] |
Returns the number of processes that make up this communicator.
Postconditions:
return > 0 Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::barrier | ( | ) | const [pure virtual] |
Pause every process in *this communicator until all the processes reach this point.
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::broadcast | ( | const int | rootRank, | |
| const Ordinal | bytes, | |||
| char | buffer[] | |||
| ) | const [pure virtual] |
Broadcast values from the root process to the slave processes.
| rootRank | [in] The rank of the root process. | |
| count | [in] The number of bytes in buffer[]. | |
| buffer | [in/out] Array (length bytes) of packed data. Must be set on input on the root processes with rank root. On output, each processs, including the root process contains the data. |
0 <= rootRank && rootRank < this->getSize() Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::gatherAll | ( | const Ordinal | sendBytes, | |
| const char | sendBuffer[], | |||
| const Ordinal | recvBytes, | |||
| char | recvBuffer[] | |||
| ) | const [pure virtual] |
Gather values from each process to collect on all processes.
| sendBytes | [in] Number of entires in sendBuffer[] on input. | |
| sendBuffer | [in] Array (length sendBytes) of data being sent from each process. | |
| recvBytes | [in] Number of entires in recvBuffer[] which must be equal to sendBytes*this->getSize(). This field is just here for debug checking. | |
| recvBuffer | [out] Array (length recvBytes) of all of the entires sent from each processes. Specifically, recvBuffer[sendBytes*j+i], for j=0...this->getSize()-1 and i=0...sendBytes-1, is the entry sendBuffer[i] from process with rank j. |
recvBytes==sendBytes*this->getSize() Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::reduceAll | ( | const ValueTypeReductionOp< Ordinal, char > & | reductOp, | |
| const Ordinal | bytes, | |||
| const char | sendBuffer[], | |||
| char | globalReducts[] | |||
| ) | const [pure virtual] |
Global reduction.
| reductOp | [in] The user-defined reduction operation | |
| bytes | [in] The length of the buffers sendBuffer[] and globalReducts[]. | |
| sendBuffer | [in] Array (length bytes) of the data contributed from each process. | |
| globalReducts | [out] Array (length bytes) of the global reduction from each process. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::reduceAllAndScatter | ( | const ValueTypeReductionOp< Ordinal, char > & | reductOp, | |
| const Ordinal | sendBytes, | |||
| const char | sendBuffer[], | |||
| const Ordinal | recvCounts[], | |||
| char | myGlobalReducts[] | |||
| ) | const [pure virtual] |
Global reduction combined with a scatter.
| reductOp | [in] The user-defined reduction operation that accepts char arrays. | |
| sendBytes | [in] The number of entires in sendBuffer[]. This must be the same in each process. | |
| sendBuffer | [in] Array (length sendBytes) of the data contributed from each process. | |
| recvCounts | [in] Array (length this->getSize()) which gives the number of chars from the global reduction that will be received in each process. | |
| myGlobalReducts | [out] Array (length blockSize*recvCounts[rank]) of the global reductions gathered in this process. |
sendBytes == sum(recvCounts[i],i=0...this->getSize()-1) Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::scan | ( | const ValueTypeReductionOp< Ordinal, char > & | reductOp, | |
| const Ordinal | bytes, | |||
| const char | sendBuffer[], | |||
| char | scanReducts[] | |||
| ) | const [pure virtual] |
Scan reduction.
| reductOp | [in] The user-defined reduction operation | |
| bytes | [in] The length of the buffers sendBuffer[] and scanReducts[]. | |
| sendBuffer | [in] Array (length bytes) of the data contributed from each process. | |
| scanReducts | [out] Array (length bytes) of the reduction up to and including this process. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::send | ( | const Ordinal | bytes, | |
| const char | sendBuffer[], | |||
| const int | destRank | |||
| ) | const [pure virtual] |
Blocking send of data from this process to another process.
| bytes | [in] The number of bytes of data being passed between processes. | |
| sendBuffer | [in] Array (length bytes) of data being sent from this process. This buffer can be immediately destroyed or reused as soon as the function exits (that is why this function is "blocking"). | |
| destRank | [in] The rank of the process to receive the data. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual int Teuchos::Comm< Ordinal >::receive | ( | const int | sourceRank, | |
| const Ordinal | bytes, | |||
| char | recvBuffer[] | |||
| ) | const [pure virtual] |
Blocking receive of data from this process to another process.
| sourceRank | [in] The rank of the process to receive the data from. If sourceRank < 0 then data will be received from any process. | |
| bytes | [in] The number of bytes of data being passed between processes. | |
| recvBuffer | [out] Array (length bytes) of data being received from this process. This buffer can be immediately used to access the data as soon as the function exits (that is why this function is "blocking"). |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::readySend | ( | const ArrayView< const char > & | sendBuffer, | |
| const int | destRank | |||
| ) | const [pure virtual] |
Ready send of data from this process to another process.
| sendBuffer | [in] The data to be sent. | |
| destRank | [in] The rank of the process to receive the data. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual RCP<CommRequest> Teuchos::Comm< Ordinal >::isend | ( | const ArrayView< const char > & | sendBuffer, | |
| const int | destRank | |||
| ) | const [pure virtual] |
Non-blocking send.
| sendBuffer | [in] The data buffer to be sent. | |
| destRank | [in] The rank of the process to receive the data. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual RCP<CommRequest> Teuchos::Comm< Ordinal >::ireceive | ( | const ArrayView< char > & | recvBuffer, | |
| const int | sourceRank | |||
| ) | const [pure virtual] |
Non-blocking receive.
| recvBuffer | [out] The location for storing the received data. | |
| sourceRank | [in] The rank of the process to receive the data from. If sourceRank < 0 then data will be received from any process. |
Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::waitAll | ( | const ArrayView< RCP< CommRequest > > & | requests | ) | const [pure virtual] |
Wait on a set of communication request.
Preconditions:
requests.size() > 0 Postconditions:
is_null(request[i])) for i=0...requests.size()-1 Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
| virtual void Teuchos::Comm< Ordinal >::wait | ( | const Ptr< RCP< CommRequest > > & | request | ) | const [pure virtual] |
Wait on a single communication request.
Preconditions:
!is_null(request)) Postconditions:
is_null(*request)) Implemented in Teuchos::MpiComm< Ordinal >, and Teuchos::SerialComm< Ordinal >.
enum EReductionType [related] |
Enumeration for selecting from a set of pre-defined reduction operations.
Definition at line 57 of file Teuchos_CommHelpers.hpp.
| int rank | ( | const Comm< Ordinal > & | comm | ) | [related] |
| int size | ( | const Comm< Ordinal > & | comm | ) | [related] |
Get the number of processes in the communicator.
Definition at line 798 of file Teuchos_CommHelpers.hpp.
| void barrier | ( | const Comm< Ordinal > & | comm | ) | [related] |
| void broadcast | ( | const Comm< Ordinal > & | comm, | |
| const int | rootRank, | |||
| const Ordinal | count, | |||
| Packet | buffer[] | |||
| ) | [related] |
Broadcast array of objects that use value semantics.
Definition at line 817 of file Teuchos_CommHelpers.hpp.
| void broadcast | ( | const Comm< Ordinal > & | comm, | |
| const int | rootRank, | |||
| const ArrayView< Packet > & | buffer | |||
| ) | [related] |
Broadcast array of objects that use value semantics.
Definition at line 836 of file Teuchos_CommHelpers.hpp.
| void broadcast | ( | const Comm< Ordinal > & | comm, | |
| const int | rootRank, | |||
| Packet * | object | |||
| ) | [related] |
Broadcast single object that use value semantics.
Definition at line 847 of file Teuchos_CommHelpers.hpp.
| void broadcast | ( | const Comm< Ordinal > & | comm, | |
| const int | rootRank, | |||
| const Ptr< Packet > & | object | |||
| ) | [related] |
Broadcast single object that use value semantics.
Definition at line 857 of file Teuchos_CommHelpers.hpp.
| void broadcast | ( | const Comm< Ordinal > & | comm, | |
| const Serializer< Ordinal, Packet > & | serializer, | |||
| const int | rootRank, | |||
| const Ordinal | count, | |||
| Packet *const | buffer[] | |||
| ) | [related] |
Broadcast array of objects that use reference semantics.
Definition at line 867 of file Teuchos_CommHelpers.hpp.
| void gatherAll | ( | const Comm< Ordinal > & | comm, | |
| const Ordinal | sendCount, | |||
| const Packet | sendBuffer[], | |||
| const Ordinal | recvCount, | |||
| Packet | recvBuffer[] | |||
| ) | [related] |
Gather array of objects that use value semantics from every process to every process.
Definition at line 886 of file Teuchos_CommHelpers.hpp.
| void gatherAll | ( | const Comm< Ordinal > & | comm, | |
| const Serializer< Ordinal, Packet > & | serializer, | |||
| const Ordinal | sendCount, | |||
| const Packet *const | sendBuffer[], | |||
| const Ordinal | recvCount, | |||
| Packet *const | recvBuffer[] | |||
| ) | [related] |
Gather array of objects that use reference semantics from every process to every process.
Definition at line 909 of file Teuchos_CommHelpers.hpp.
| void reduceAll | ( | const Comm< Ordinal > & | comm, | |
| const ValueTypeReductionOp< Ordinal, Packet > & | reductOp, | |||
| const Ordinal | count, | |||
| const Packet | sendBuffer[], | |||
| Packet | globalReducts[] | |||
| ) | [related] |
Collective reduce all of array of objects using value semantics using a user-defined reduction operator.
Definition at line 920 of file Teuchos_CommHelpers.hpp.
| void reduceAll | ( | const Comm< Ordinal > & | comm, | |
| const EReductionType | reductType, | |||
| const Ordinal | count, | |||
| const Packet | sendBuffer[], | |||
| Packet | globalReducts[] | |||
| ) | [related] |
Collective reduce all of array of objects using value semantics using a pre-defined reduction type.
Definition at line 944 of file Teuchos_CommHelpers.hpp.
| void reduceAll | ( | const Comm< Ordinal > & | comm, | |
| const EReductionType | reductType, | |||
| const Packet & | send, | |||
| Packet * | globalReduct | |||
| ) | [related] |
Collective reduce all for single object using value semantics using a pre-defined reduction type.
Definition at line 961 of file Teuchos_CommHelpers.hpp.
| 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[] | |||
| ) | [related] |
Collective reduce all for array of objects using reference semantics.
Definition at line 971 of file Teuchos_CommHelpers.hpp.
| void reduceAllAndScatter | ( | const Comm< Ordinal > & | comm, | |
| const ValueTypeReductionOp< Ordinal, Packet > & | reductOp, | |||
| const Ordinal | sendCount, | |||
| const Packet | sendBuffer[], | |||
| const Ordinal | recvCounts[], | |||
| Packet | myGlobalReducts[] | |||
| ) | [related] |
Reduce and Scatter array of objects that use value semantics using a user-defined reduction object.
Definition at line 996 of file Teuchos_CommHelpers.hpp.
| void reduceAllAndScatter | ( | const Comm< Ordinal > & | comm, | |
| const EReductionType | reductType, | |||
| const Ordinal | sendCount, | |||
| const Packet | sendBuffer[], | |||
| const Ordinal | recvCounts[], | |||
| Packet | myGlobalReducts[] | |||
| ) | [related] |
Reduce and Scatter array of objects that use value semantics using a a pre-defined reduction type.
Definition at line 1044 of file Teuchos_CommHelpers.hpp.
| void reduceAllAndScatter | ( | const Comm< Ordinal > & | comm, | |
| const Serializer< Ordinal, Packet > & | serializer, | |||
| const ReferenceTypeReductionOp< Ordinal, Packet > & | reductOp, | |||
| const Ordinal | sendCount, | |||
| const Packet *const | sendBuffer[], | |||
| const Ordinal | recvCounts[], | |||
| Packet *const | myGlobalReducts[] | |||
| ) | [related] |
Reduce and Scatter array of objects that use reference semantics using a user-defined reduction object.
Definition at line 1064 of file Teuchos_CommHelpers.hpp.
| void scan | ( | const Comm< Ordinal > & | comm, | |
| const ValueTypeReductionOp< Ordinal, Packet > & | reductOp, | |||
| const Ordinal | count, | |||
| const Packet | sendBuffer[], | |||
| Packet | scanReducts[] | |||
| ) | [related] |
Scan/Reduce array of objects that use value semantics using a user-defined reduction operator.
Definition at line 1076 of file Teuchos_CommHelpers.hpp.
| void scan | ( | const Comm< Ordinal > & | comm, | |
| const EReductionType | reductType, | |||
| const Ordinal | count, | |||
| const Packet | sendBuffer[], | |||
| Packet | scanReducts[] | |||
| ) | [related] |
Scan/Reduce array of objects using value semantics using a predefined reduction type.
Definition at line 1100 of file Teuchos_CommHelpers.hpp.
| void scan | ( | const Comm< Ordinal > & | comm, | |
| const EReductionType | reductType, | |||
| const Packet & | send, | |||
| Packet * | scanReduct | |||
| ) | [related] |
Scan/Reduce single object using value semantics using a predefined reduction type.
Definition at line 1117 of file Teuchos_CommHelpers.hpp.
| 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[] | |||
| ) | [related] |
Scan/Reduce array of objects that use reference semantics using a user-defined reduction operator.
Definition at line 1127 of file Teuchos_CommHelpers.hpp.
| void send | ( | const Comm< Ordinal > & | comm, | |
| const Ordinal | count, | |||
| const Packet | sendBuffer[], | |||
| const int | destRank | |||
| ) | [related] |
Send objects that use values semantics to another process.
Definition at line 1138 of file Teuchos_CommHelpers.hpp.
| void send | ( | const Comm< Ordinal > & | comm, | |
| const Packet & | send, | |||
| const int | destRank | |||
| ) | [related] |
Send a single object that use values semantics to another process.
Definition at line 1158 of file Teuchos_CommHelpers.hpp.
| void send | ( | const Comm< Ordinal > & | comm, | |
| const Serializer< Ordinal, Packet > & | serializer, | |||
| const Ordinal | count, | |||
| const Packet *const | sendBuffer[], | |||
| const int | destRank | |||
| ) | [related] |
Send objects that use reference semantics to another process.
NOTE: Not implemented yet!
Definition at line 1168 of file Teuchos_CommHelpers.hpp.
| int receive | ( | const Comm< Ordinal > & | comm, | |
| const int | sourceRank, | |||
| const Ordinal | count, | |||
| Packet | recvBuffer[] | |||
| ) | [related] |
Receive objects that use values semantics from another process.
Definition at line 1177 of file Teuchos_CommHelpers.hpp.
| int receive | ( | const Comm< Ordinal > & | comm, | |
| const int | sourceRank, | |||
| Packet * | recv | |||
| ) | [related] |
Receive a single object that use values semantics from another process.
Definition at line 1197 of file Teuchos_CommHelpers.hpp.
| int receive | ( | const Comm< Ordinal > & | comm, | |
| const Serializer< Ordinal, Packet > & | serializer, | |||
| const int | sourceRank, | |||
| const Ordinal | count, | |||
| Packet *const | recvBuffer[] | |||
| ) | [related] |
Receive objects that use reference semantics from another process.
Definition at line 1207 of file Teuchos_CommHelpers.hpp.
| void readySend | ( | const Comm< Ordinal > & | comm, | |
| const ArrayView< const Packet > & | sendBuffer, | |||
| const int | destRank | |||
| ) | [related] |
Ready-Send an array of objects that use values semantics to another process.
Definition at line 1217 of file Teuchos_CommHelpers.hpp.
| void readySend | ( | const Comm< Ordinal > & | comm, | |
| const Packet & | send, | |||
| const int | destRank | |||
| ) | [related] |
Ready-Send a single object that use values semantics to another process.
Definition at line 1235 of file Teuchos_CommHelpers.hpp.
| RCP< CommRequest > isend | ( | const Comm< Ordinal > & | comm, | |
| const ArrayRCP< const Packet > & | sendBuffer, | |||
| const int | destRank | |||
| ) | [related] |
Send objects that use values semantics to another process.
Definition at line 1247 of file Teuchos_CommHelpers.hpp.
| RCP< CommRequest > isend | ( | const Comm< Ordinal > & | comm, | |
| const RCP< const Packet > & | send, | |||
| const int | destRank | |||
| ) | [related] |
Send a single object that use values semantics to another process.
Definition at line 1269 of file Teuchos_CommHelpers.hpp.
| RCP< CommRequest > ireceive | ( | const Comm< Ordinal > & | comm, | |
| const ArrayRCP< Packet > & | recvBuffer, | |||
| const int | sourceRank | |||
| ) | [related] |
Send objects that use values semantics to another process.
Definition at line 1285 of file Teuchos_CommHelpers.hpp.
| RCP< CommRequest > ireceive | ( | const Comm< Ordinal > & | comm, | |
| const RCP< Packet > & | recv, | |||
| const int | sourceRank | |||
| ) | [related] |
Send a single object that use values semantics to another process.
Definition at line 1308 of file Teuchos_CommHelpers.hpp.
| void waitAll | ( | const Comm< Ordinal > & | comm, | |
| const ArrayView< RCP< CommRequest > > & | requests | |||
| ) | [related] |
Wait for an array of Teuchos::CommRequest objects.
Blocks until all communication operations associated with the CommRequest objects have completed.
Definition at line 1323 of file Teuchos_CommHelpers.hpp.
| void wait | ( | const Comm< Ordinal > & | comm, | |
| const Ptr< RCP< CommRequest > > & | request | |||
| ) | [related] |
Wait on on a single request.
Blocks until the communication operation associated with the CommRequest object has completed.
Definition at line 1333 of file Teuchos_CommHelpers.hpp.
1.4.7