- Home
- About DUNE
- Download
- Documentation
- Community
- Development
Specialization of CollectiveCommunication for MPI. More...
#include <dune/common/mpicollectivecommunication.hh>
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 |
Specialization of CollectiveCommunication for MPI.
Dune::CollectiveCommunication< MPI_Comm >::CollectiveCommunication | ( | const MPI_Comm & | c | ) | [inline] |
Instantiation using a MPI communicator.
int Dune::CollectiveCommunication< MPI_Comm >::allreduce | ( | Type * | inout, | |
int | len | |||
) | const [inline] |
int Dune::CollectiveCommunication< MPI_Comm >::allreduce | ( | Type * | in, | |
Type * | out, | |||
int | len | |||
) | const [inline] |
int Dune::CollectiveCommunication< MPI_Comm >::barrier | ( | ) | const [inline] |
Wait until all processes have arrived at this point in the program.
int Dune::CollectiveCommunication< MPI_Comm >::broadcast | ( | T * | inout, | |
int | len, | |||
int | root | |||
) | const [inline] |
Distribute an array from the process with rank root to all other processes.
int Dune::CollectiveCommunication< MPI_Comm >::gather | ( | T * | in, | |
T * | out, | |||
int | len, | |||
int | root | |||
) | const [inline] |
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.
T Dune::CollectiveCommunication< MPI_Comm >::max | ( | T & | in | ) | const [inline] |
Compute the maximum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
int Dune::CollectiveCommunication< MPI_Comm >::max | ( | T * | inout, | |
int | len | |||
) | const [inline] |
Compute the maximum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
int Dune::CollectiveCommunication< MPI_Comm >::min | ( | T * | inout, | |
int | len | |||
) | const [inline] |
Compute the minimum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
T Dune::CollectiveCommunication< MPI_Comm >::min | ( | T & | in | ) | const [inline] |
Compute the minimum of the argument over all processes and return the result in every process. Assumes that T has an operator<.
Dune::CollectiveCommunication< MPI_Comm >::operator MPI_Comm | ( | ) | const [inline] |
T Dune::CollectiveCommunication< MPI_Comm >::prod | ( | T & | in | ) | const [inline] |
Compute the product of the argument over all processes and return the result in every process. Assumes that T has an operator*.
int Dune::CollectiveCommunication< MPI_Comm >::prod | ( | T * | inout, | |
int | len | |||
) | const [inline] |
Compute the product of the argument over all processes and return the result in every process. Assumes that T has an operator*.
int Dune::CollectiveCommunication< MPI_Comm >::rank | ( | ) | const [inline] |
Return rank, is between 0 and size()-1.
int Dune::CollectiveCommunication< MPI_Comm >::size | ( | ) | const [inline] |
Number of processes in set, is greater than 0.
int Dune::CollectiveCommunication< MPI_Comm >::sum | ( | T * | inout, | |
int | len | |||
) | const [inline] |
Compute the sum of the argument over all processes and return the result in every process. Assumes that T has an operator+.
T Dune::CollectiveCommunication< MPI_Comm >::sum | ( | T & | in | ) | const [inline] |
Compute the sum of the argument over all processes and return the result in every process. Assumes that T has an operator+.
Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].