Specialization of CollectiveCommunication for MPI.
More...
#include <dune/common/mpicollectivecommunication.hh>
List of all members.
Public Member Functions |
| CollectiveCommunication (const MPI_Comm &c) |
| Instantiation using a MPI communicator.
|
int | rank () const |
int | size () const |
template<typename T > |
T | sum (T &in) const |
template<typename T > |
int | sum (T *inout, int len) const |
template<typename T > |
T | prod (T &in) const |
template<typename T > |
int | prod (T *inout, int len) const |
template<typename T > |
T | min (T &in) const |
template<typename T > |
int | min (T *inout, int len) const |
template<typename T > |
T | max (T &in) const |
template<typename T > |
int | max (T *inout, int len) const |
int | barrier () const |
template<typename T > |
int | broadcast (T *inout, int len, int root) const |
template<typename T > |
int | gather (T *in, T *out, int len, int root) const |
| operator MPI_Comm () const |
template<typename BinaryFunction , typename Type > |
int | allreduce (Type *inout, int len) const |
template<typename BinaryFunction , typename Type > |
int | allreduce (Type *in, Type *out, int len) const |
Detailed Description
template<>
class Dune::CollectiveCommunication< MPI_Comm >
Specialization of CollectiveCommunication for MPI.
Constructor & Destructor Documentation
Instantiation using a MPI communicator.
Member Function Documentation
template<typename BinaryFunction , typename Type >
template<typename BinaryFunction , typename Type >
Wait until all processes have arrived at this point in the program.
Distribute an array from the process with rank root to all other processes.
Each process sends its in array of length len to the root process (including the root itself). In the root process these arrays are stored in rank order in the out array which must have size len * number of processes.
Compute the maximum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
Compute the maximum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
Compute the minimum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
Compute the minimum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
Compute the product of the argument over all processes and return the result in every process. Assumes that T has an operator*.
Compute the product of the argument over all processes and return the result in every process. Assumes that T has an operator*.
Return rank, is between 0 and size()-1.
Number of processes in set, is greater than 0.
Compute the sum of the argument over all processes and return the result in every process. Assumes that T has an operator+.
Compute the sum of the argument over all processes and return the result in every process. Assumes that T has an operator+.
The documentation for this class was generated from the following file: