Loading...
Searching...
No Matches
PstreamReduceOps.H File Reference

Inter-processor communication reduction functions. More...

Include dependency graph for PstreamReduceOps.H:
This graph shows which files directly or indirectly include this file:

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.

Detailed Description

Inter-processor communication reduction functions.

Original source file PstreamReduceOps.H

InNamespace Foam

Definition in file PstreamReduceOps.H.