|
Teuchos - Trilinos Tools Package Version of the Day
|
Object representation of an MPI communicator. More...
#include <Teuchos_MPIComm.hpp>
Public Member Functions | |
| MPIComm () | |
| Empty constructor builds an object for MPI_COMM_WORLD. | |
| int | getRank () const |
| Return process rank. | |
| int | getNProc () const |
| Return number of processors in the communicator. | |
| void | synchronize () const |
| Synchronize all the processors in the communicator. | |
Collective communications | |
| void | allToAll (void *sendBuf, int sendCount, int sendType, void *recvBuf, int recvCount, int recvType) const |
| All-to-all gather-scatter. | |
| void | allToAllv (void *sendBuf, int *sendCount, int *sendDisplacements, int sendType, void *recvBuf, int *recvCount, int *recvDisplacements, int recvType) const |
| Variable-length gather-scatter. | |
| void | allReduce (void *input, void *result, int inputCount, int type, int op) const |
| Do a collective operation, scattering the results to all processors. | |
| void | gather (void *sendBuf, int sendCount, int sendType, void *recvBuf, int recvCount, int recvType, int root) const |
| Gather to root. | |
| void | gatherv (void *sendBuf, int sendCount, int sendType, void *recvBuf, int *recvCount, int *displacements, int recvType, int root) const |
| Gather variable-sized arrays to root. | |
| void | allGather (void *sendBuf, int sendCount, int sendType, void *recvBuf, int recvCount, int recvType) const |
| Gather to all processors. | |
| void | allGatherv (void *sendBuf, int sendCount, int sendType, void *recvBuf, int *recvCount, int *recvDisplacements, int recvType) const |
| Variable-length gather to all processors. | |
| void | bcast (void *msg, int length, int type, int src) const |
| Broadcast. | |
Static Public Member Functions | |
| static MPIComm & | world () |
| Get an object representing MPI_COMM_WORLD. | |
| static MPIComm & | self () |
| Get an object representing MPI_COMM_SELF. | |
Static Public Attributes | |
Data types | |
| static const int | INT = 1 |
| Integer data type. | |
| static const int | FLOAT = 2 |
| Float data type. | |
| static const int | DOUBLE = 3 |
| Double data type. | |
| static const int | CHAR = 4 |
| Character data type. | |
Operations | |
| static const int | SUM = 5 |
| Summation operation. | |
| static const int | MIN = 6 |
| Minimize operation. | |
| static const int | MAX = 7 |
| Maximize operation. | |
| static const int | PROD = 8 |
| Dot-product (Multiplication) operation. | |
Object representation of an MPI communicator.
At present, groups are not implemented so the only communicator is MPI_COMM_WORLD.
Definition at line 53 of file Teuchos_MPIComm.hpp.
| MPIComm::MPIComm | ( | ) |
Empty constructor builds an object for MPI_COMM_WORLD.
Definition at line 49 of file Teuchos_MPIComm.cpp.
| MPIComm & MPIComm::world | ( | ) | [static] |
Get an object representing MPI_COMM_WORLD.
Definition at line 143 of file Teuchos_MPIComm.cpp.
| MPIComm & MPIComm::self | ( | ) | [static] |
Get an object representing MPI_COMM_SELF.
Definition at line 150 of file Teuchos_MPIComm.cpp.
| int Teuchos::MPIComm::getRank | ( | ) | const [inline] |
Return process rank.
Definition at line 71 of file Teuchos_MPIComm.hpp.
| int Teuchos::MPIComm::getNProc | ( | ) | const [inline] |
Return number of processors in the communicator.
Definition at line 74 of file Teuchos_MPIComm.hpp.
| void MPIComm::synchronize | ( | ) | const |
Synchronize all the processors in the communicator.
Definition at line 161 of file Teuchos_MPIComm.cpp.
| void MPIComm::allToAll | ( | void * | sendBuf, |
| int | sendCount, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int | recvCount, | ||
| int | recvType | ||
| ) | const |
All-to-all gather-scatter.
Definition at line 180 of file Teuchos_MPIComm.cpp.
| void MPIComm::allToAllv | ( | void * | sendBuf, |
| int * | sendCount, | ||
| int * | sendDisplacements, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int * | recvCount, | ||
| int * | recvDisplacements, | ||
| int | recvType | ||
| ) | const |
Variable-length gather-scatter.
Definition at line 213 of file Teuchos_MPIComm.cpp.
| void MPIComm::allReduce | ( | void * | input, |
| void * | result, | ||
| int | inputCount, | ||
| int | type, | ||
| int | op | ||
| ) | const |
Do a collective operation, scattering the results to all processors.
Definition at line 381 of file Teuchos_MPIComm.cpp.
| void MPIComm::gather | ( | void * | sendBuf, |
| int | sendCount, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int | recvCount, | ||
| int | recvType, | ||
| int | root | ||
| ) | const |
Gather to root.
Definition at line 249 of file Teuchos_MPIComm.cpp.
| void MPIComm::gatherv | ( | void * | sendBuf, |
| int | sendCount, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int * | recvCount, | ||
| int * | displacements, | ||
| int | recvType, | ||
| int | root | ||
| ) | const |
Gather variable-sized arrays to root.
Definition at line 276 of file Teuchos_MPIComm.cpp.
| void MPIComm::allGather | ( | void * | sendBuf, |
| int | sendCount, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int | recvCount, | ||
| int | recvType | ||
| ) | const |
Gather to all processors.
Definition at line 302 of file Teuchos_MPIComm.cpp.
| void MPIComm::allGatherv | ( | void * | sendBuf, |
| int | sendCount, | ||
| int | sendType, | ||
| void * | recvBuf, | ||
| int * | recvCount, | ||
| int * | recvDisplacements, | ||
| int | recvType | ||
| ) | const |
Variable-length gather to all processors.
Definition at line 330 of file Teuchos_MPIComm.cpp.
| void MPIComm::bcast | ( | void * | msg, |
| int | length, | ||
| int | type, | ||
| int | src | ||
| ) | const |
Broadcast.
Definition at line 360 of file Teuchos_MPIComm.cpp.
const int Teuchos::MPIComm::INT = 1 [static] |
Integer data type.
Definition at line 130 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::FLOAT = 2 [static] |
Float data type.
Definition at line 132 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::DOUBLE = 3 [static] |
Double data type.
Definition at line 134 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::CHAR = 4 [static] |
Character data type.
Definition at line 136 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::SUM = 5 [static] |
Summation operation.
Definition at line 142 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::MIN = 6 [static] |
Minimize operation.
Definition at line 144 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::MAX = 7 [static] |
Maximize operation.
Definition at line 146 of file Teuchos_MPIComm.hpp.
const int Teuchos::MPIComm::PROD = 8 [static] |
Dot-product (Multiplication) operation.
Definition at line 148 of file Teuchos_MPIComm.hpp.
1.7.4