Inter-processor communication reduction functions. More...


Go to the source code of this file.
Namespaces | |
| namespace | Foam |
| Namespace for OpenFOAM. | |
Functions | |
| template<class T, class BinaryOp> | |
| void | reduce (T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Reduce inplace (cf. MPI Allreduce). | |
| template<class T, class BinaryOp> | |
| void | reduce (T values[], const int count, BinaryOp bop, const int tag, const int communicator=UPstream::worldComm) |
| Reduce inplace (cf. MPI Allreduce) multiple values (same size on all ranks!). | |
| template<class T, unsigned N, class BinaryOp> | |
| void | reduce (FixedList< T, N > &values, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Reduce multiple values. | |
| template<class T, class BinaryOp> | |
| void | reduce (T values[], int count, BinaryOp bop, const int tag, const int communicator, UPstream::Request &req) |
| Non-blocking reduce inplace (cf. MPI Iallreduce) multiple values. Sets request. | |
| template<class T, class BinaryOp> | |
| void | reduce (T &value, BinaryOp bop, const int tag, const int communicator, UPstream::Request &req) |
| Non-blocking reduce inplace (cf. MPI Iallreduce) single value. Sets request. | |
| void | reduce (bool &value, Foam::andOp< bool >, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Logical (and) inplace reduction. Uses UPstream::reduceAnd. | |
| void | reduce (bool &value, Foam::orOp< bool >, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Logical (or) inplace reduction. Uses UPstream::reduceOr. | |
| template<class T, class CountType = int> | |
| void | sumReduce (T &value, CountType &count, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Reduce inplace (cf. MPI Allreduce) the sum of value and counter (eg, for averaging). | |
| template<class T, class BinaryOp> | |
| T | returnReduce (const T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm) |
| Perform reduction on a copy, using specified binary operation. | |
| bool | returnReduceAnd (const bool value, const int communicator=UPstream::worldComm) |
| Perform logical (and) MPI Allreduce on a copy. Uses UPstream::reduceAnd. | |
| bool | returnReduceOr (const bool value, const int communicator=UPstream::worldComm) |
| Perform logical (or) MPI Allreduce on a copy. Uses UPstream::reduceOr. | |
Inter-processor communication reduction functions.
Original source file PstreamReduceOps.H
InNamespace Foam
Definition in file PstreamReduceOps.H.